Sparql 语义web请求结果差异

Sparql 语义web请求结果差异,sparql,semantics,dbpedia,Sparql,Semantics,Dbpedia,它不起作用。但是为什么呢 我想你是说 ?x dbpedia owl:activeYearsStartDate?v 而不是 x owl:activeYearsStartDate?v 此外,在这里使用regex比需要的更昂贵。您可以检查URI的字符串值是否与 过滤器str?x= 但即使这样,也比你需要做的工作多得多。如果您想要?x,只需使用它而不是?x,或者使用值将?x绑定到它: SELECT * WHERE { ?x foaf:primaryTopic ?n . ?x rdf:type ?z

它不起作用。但是为什么呢

我想你是说

?x dbpedia owl:activeYearsStartDate?v

而不是

x owl:activeYearsStartDate?v

此外,在这里使用regex比需要的更昂贵。您可以检查URI的字符串值是否与

过滤器str?x=

但即使这样,也比你需要做的工作多得多。如果您想要?x,只需使用它而不是?x,或者使用值将?x绑定到它:

SELECT * WHERE {
 ?x foaf:primaryTopic ?n .
 ?x rdf:type ?z .
 ?x owl:activeYearsStartDate ?v .
 FILTER (regex(?x, '^http://en.wikipedia.org/wiki/Barack_Obama$')).
}    
不过,这看起来仍然可疑。你确定你不想要吗?而foaf:primaryTopic的使用真的让我觉得你想要的东西更像:

SELECT * WHERE {
 values ?x { <http://en.wikipedia.org/wiki/Barack_Obama> }
 ?x foaf:primaryTopic ?n .
 ?x rdf:type ?z .
 ?x owl:activeYearsStartDate ?v .
}    

它不起作用意味着什么?你收到错误信息了吗?你没有得到你期望的结果?什么我打赌您不会得到任何结果,因为OWL没有定义属性OWL:activeYearsStartDate。
SELECT * WHERE {
 <http://en.wikipedia.org/wiki/Barack_Obama> foaf:primaryTopic ?n .
 <http://en.wikipedia.org/wiki/Barack_Obama> rdf:type ?z .
 <http://en.wikipedia.org/wiki/Barack_Obama> owl:activeYearsStartDate ?v .
}    
SELECT * WHERE {
 values ?x { <http://en.wikipedia.org/wiki/Barack_Obama> }
 ?x foaf:primaryTopic ?n .
 ?x rdf:type ?z .
 ?x owl:activeYearsStartDate ?v .
}    
select * {
  ?x foaf:isPrimaryTopicOf <http://en.wikipedia.org/wiki/Barack_Obama> ;
     a ?type ;
     dbpedia-owl:activeYearsStartDate ?v
}
limit 10