Rdf SPARQL查询语言标记古怪

Rdf SPARQL查询语言标记古怪,rdf,semantic-web,sparql,Rdf,Semantic Web,Sparql,这项工作: SELECT * WHERE{ ?x rdfs:label "Chalti Ka Naam Gaadi"@en . ?x foaf:name ?z . } () 这并不是: SELECT * WHERE{ ?x foaf:name "Chalti Ka Naam Gaadi" . ?x rdfs:label ?z . } () 为什么?您的问题是带有语言标记的纯文本:“Chalti Ka Naam Gaadi”@en 与没有语言标记的普通文字不同:“Chalti

这项工作:

SELECT * WHERE{
?x rdfs:label "Chalti Ka Naam Gaadi"@en .
?x foaf:name ?z .    
}
()

这并不是:

SELECT * WHERE{
?x foaf:name "Chalti Ka Naam Gaadi" .
?x rdfs:label ?z .    
}
()


为什么?

您的问题是带有语言标记的纯文本:
“Chalti Ka Naam Gaadi”@en

与没有语言标记的普通文字不同:
“Chalti Ka Naam Gaadi”

文字是由词汇部分、语言(可能)或数据类型(可能)构成的结构化内容

您可以筛选:
filter(str(?name)=“Chalti Ka Naam Gaadi”)

str()
返回文本的词法部分)


但是,这取决于查询引擎,速度会慢得多。

这应该是这个问题的公认答案,因为它实际上回答了这个问题。