pattern-matching - sparql模式匹配

标签 pattern-matching rdf sparql

我目前正在学习一些sparql,并且正在以下网站上进行一些陈述的练习:

http://data.semanticweb.org/snorql

但是,我正在尝试执行以下语句:

SELECT DISTINCT ?author WHERE { ?paper swrc:author ?author FILTER(regex(?paper, "2006")) . } .

它说没有结果。当我运行以下查询(不使用过滤器)时:
SELECT DISTINCT ?paper WHERE { ?paper swrc:author ?author . }

我看到有一些关于2006的论文。我想知道为什么第一个查询不返回?paper字符串中有2006的这些条目。

有人可以帮我吗?

最佳答案

返回的?paper的RDF术语都是URI。 REGEX过滤器功能不适用于URI。它仅适用于字符串。您可以使用STR(…)函数将URI转换为字符串。这将起作用:

FILTER(regex(STR(?paper), "2006"))

关于pattern-matching - sparql模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13054552/

相关文章:

java - 如何匹配模式正则表达式中 token 的最后一个实例?

haskell - 是否可以在模式匹配中引用类型变量?

javascript - 使用正则表达式匹配 javascript 中的多次出现

rdf - 在哪里测试用 SPARQL 编写的 RDF 的查询

sparql - 在海龟或 RDF 中,我可以在符合条件的所有主题上添加谓词/宾语吗?

types - SPARQL:如何列出和计算 RDF 数据集中的每种数据类型?

java - 在模式中使用变量

json - PostgreSQL 导入工具 (RDF/JSON/CSV)

javascript - 如何在 Javascript 中查询 Dbpedia

SPARQL 将 "."替换为 "_"