对整数进行过滤的 SPARQL 查询
SPARQL Query with filtering over an integer
我正在编写一个非常简单的 sparql 查询来过滤整数值。
我通过this tutorial弄明白了
我知道 Wikipedia Id = 856 用于 apple_inc 但是这个查询没有给出任何结果,我不知道我错过了什么。任何帮助将不胜感激。
select ?uri where {?uri <http://dbpedia.org/ontology/wikiPageID> ?id. FILTER regex(?id, "856"^^xsd:integer, "i")}
你应该这样写:
select ?uri where {?uri <http://dbpedia.org/ontology/wikiPageID> ?id. FILTER (?id=856)}
根本没有理由在这里使用 filter。从概念上讲,filter 必须 select 所有页面 id 三倍,然后过滤掉除正确页面之外的所有页面。 (虽然实施应该使流程更有效率。)
将值放在查询中并完全跳过过滤器会更清楚:
select ?uri where {
?uri <http://dbpedia.org/ontology/wikiPageID> 856
}
我正在编写一个非常简单的 sparql 查询来过滤整数值。
我通过this tutorial弄明白了 我知道 Wikipedia Id = 856 用于 apple_inc 但是这个查询没有给出任何结果,我不知道我错过了什么。任何帮助将不胜感激。
select ?uri where {?uri <http://dbpedia.org/ontology/wikiPageID> ?id. FILTER regex(?id, "856"^^xsd:integer, "i")}
你应该这样写:
select ?uri where {?uri <http://dbpedia.org/ontology/wikiPageID> ?id. FILTER (?id=856)}
根本没有理由在这里使用 filter。从概念上讲,filter 必须 select 所有页面 id 三倍,然后过滤掉除正确页面之外的所有页面。 (虽然实施应该使流程更有效率。)
将值放在查询中并完全跳过过滤器会更清楚:
select ?uri where {
?uri <http://dbpedia.org/ontology/wikiPageID> 856
}