SPARQL查询语言标签怪异

Sha*_*run 3 rdf semantic-web sparql

这有效:

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

(DBpedia SPARQL Explorer上的结果)

这不是:

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

(DBpedia SPARQL Explorer上的结果)

为什么?

use*_*512 10

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

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

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

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

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

但是,根据查询引擎,这将慢得多.