这有效:
SELECT * WHERE{
?x rdfs:label "Chalti Ka Naam Gaadi"@en .
?x foaf:name ?z .
}
( Results on DBpedia SPARQL Explorer )
这不会:
SELECT * WHERE{
?x foaf:name "Chalti Ka Naam Gaadi" .
?x rdfs:label ?z .
}
( Results on DBpedia SPARQL Explorer )
为什么?
最佳答案
您的问题是带有语言标签的纯文字:"Chalti Ka Naam Gaadi"@en
与没有语言标签的纯文字不同:"Chalti Ka Naam Gaadi"
文字是由词汇部分、语言(可能)或数据类型(可能)组成的结构化事物。
您可以过滤:FILTER ( str( ?name ) = "Chalti Ka Naam Gaadi")
( str()
返回文字的词法部分)
但是,根据查询引擎,这会慢得多。
关于rdf - SPARQL 查询语言标签怪异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2012449/