这有效:
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)
为什么?
答案 0 :(得分:10)
您的问题是带有语言标记的普通文字:"Chalti Ka Naam Gaadi"@en
与没有语言标签的普通文字不同:"Chalti Ka Naam Gaadi"
文字是由词汇部分,语言(可能)或数据类型(可能)组成的结构化事物。
您可以过滤:FILTER ( str( ?name ) = "Chalti Ka Naam Gaadi")
(str()
返回文字的词汇部分)
但是,根据查询引擎,这将会慢得多。