5

这有效:

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

DBpedia SPARQL Explorer 上的结果

这不会:

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

DBpedia SPARQL Explorer 上的结果

为什么?

4

1 回答 1

11

您的问题是带有语言标签的普通文字:"Chalti Ka Naam Gaadi"@en

与没有语言标签的普通文字不同:"Chalti Ka Naam Gaadi"

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

你可以过滤:FILTER ( str( ?name ) = "Chalti Ka Naam Gaadi")

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

但是,根据查询引擎,这会慢得多。

于 2010-01-06T18:52:04.420 回答