SPARQL 查询语言标签怪异 [英] SPARQL query language tag weirdness

查看:50
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆