我有一个问题,我在下面的例子中解释:
我想检索某个类别的所有以任何语言的信息。我必须使用?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')
}
是否有类似或不同的方法/方法来解决问题?提前感谢您的帮助。