对整数进行筛选的SPARQL查询

对整数进行筛选的SPARQL查询,sparql,wikipedia-api,Sparql,Wikipedia Api,我正在编写一个非常简单的sparql查询,用于过滤整数值 我是通过电话找到的 我知道Wikipedia Id=856是苹果公司的,但这个查询没有给出任何结果,我不知道我遗漏了什么。任何帮助都将不胜感激 select ?uri where {?uri <http://dbpedia.org/ontology/wikiPageID> ?id. FILTER regex(?id, "856"^^xsd:integer, "i")} select-uri其中{uri-id.FILTER r

我正在编写一个非常简单的sparql查询,用于过滤整数值

我是通过电话找到的 我知道Wikipedia Id=856是苹果公司的,但这个查询没有给出任何结果,我不知道我遗漏了什么。任何帮助都将不胜感激

select ?uri where {?uri <http://dbpedia.org/ontology/wikiPageID> ?id. FILTER regex(?id, "856"^^xsd:integer, "i")}
select-uri其中{uri-id.FILTER regex(?id,“856”^^xsd:integer,“i”)}

你应该这样写:

select ?uri where {?uri <http://dbpedia.org/ontology/wikiPageID> ?id. FILTER (?id=856)}
select-uri其中{uri-id.FILTER(?id=856)}

这里根本没有理由使用过滤器。从概念上讲,过滤器必须选择所有页面id三元组,然后过滤掉除正确的一个之外的所有页面id三元组。(不过,实施应该会使流程更加高效。)

更清楚的是,只需将值放在查询中,然后完全跳过筛选:

select?uri在哪里{
?uri 856
} 

从概念上讲,这必须选择所有页面id三元组,然后过滤掉除正确一个之外的所有页面id三元组。(不过,实现应该使该过程更加高效。)更清楚的是,只需将值放在查询中,并完全跳过筛选器:
select?uri,其中{?uri 856.}
regex不允许在第二个参数=>type error=>filter false中使用数字。