SPARQL 查询语言标签怪异 [英] SPARQL query language tag weirdness
本文介绍了SPARQL 查询语言标签怪异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这有效:
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 上的结果)
为什么?
推荐答案
您的问题是带有语言标签的普通文字:"Chalti Ka Naam Gaadi"@en
Your issue is that plain literals with language tags: "Chalti Ka Naam Gaadi"@en
与没有语言标签的普通文字不同:"Chalti Ka Naam Gaadi"
are not the same as plain literals without language tags: "Chalti Ka Naam Gaadi"
文字是由词法部分、语言(可能)或数据类型(可能)组成的结构化事物.
Literals are structured things made of a lexical part, language (maybe), or datatype (maybe).
您可以过滤:FILTER ( str( ?name ) = "Chalti Ka Naam Gaadi")
(str()
返回文字的词法部分)
(str()
returns the lexical part of the literal)
但是,根据查询引擎,这会慢得多.
but, depending on the query engine, that will be much slower.
这篇关于SPARQL 查询语言标签怪异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文