SPARQL DBpedia - 使用标签

时间:2017-05-19 12:05:06

标签: resources label sparql categories dbpedia

我有一个问题,我在下面的例子中解释:

我想检索某个类别的所有以任何语言的信息。我必须使用?category作为标签语言标签 en,因为它们是我程序中的输入。

查询看起来像这样,但是当我更改语言时,我不会收到有关该类别的任何信息。我知道问题出在dcterms:subject,因为?category返回http://dbpedia.org/resource/Category:Countries_in_Europe(参见下面的第一个例子)。

例如,要搜索德语中的类别标签,您必须使用http://de.dbpedia.org/resource/Kategorie:Staat_in_Europa(请参阅下面的第二个示例)。

prefix dcterms: <http://purl.org/dc/terms/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?objectLabel WHERE {
       ?subject dcterms:subject ?category ; rdfs:label ?objectLabel 
       ?category rdfs:label "Countries in Europe"@en .
FILTER (LANG(?objectLabel)='en')
}

不同语言的等效查询,不作为示例工作:

prefix dcterms: <http://purl.org/dc/terms/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?objectLabel WHERE {
       ?subject dcterms:subject ?category ; rdfs:label ?objectLabel 
       ?category rdfs:label "Staat in Europa"@de .
FILTER (LANG(?objectLabel)='de')
}

是否有类似或不同的方法/方法来解决问题?提前感谢您的帮助。

0 个答案:

没有答案