2016-09-20 43 views
0

我需要從我的rdfs:label標籤SPARQL查詢中使用屬性

這裏得到的唯一的英文價值發現只有一個值是

<rdfs:label rdf:datatype="&xsd;string">English</rdfs:label> 
<rdfs:label xml:lang="fr">French</rdfs:label> 
<rdfs:label xml:lang="it">Italy</rdfs:label> 

我目前使用Apache耶拿定式服務器我的樣本RDF執行SPARQL查詢。當我試圖獲得rdfs:標籤時,它會返回所有三個值。

在此先感謝

+0

什麼的查詢,你試過嗎?你可以(重新)在Turtle中展示你的數據,這對於SPARQL更好 - 並且可能會顯示你的錯誤? – TallTed

+0

這不是一個合法的RDF文件(儘管它可能是一個的片段)。沒有足夠的實際指定任何三元組。 –

+1

[從DBPedia以英文提取所有類型及其標籤](http://stackoverflow.com/q/18733225/1281433)的答案解釋瞭如何執行此操作。 –

回答

3

您可以在您的結果的願望語言標記篩選。一對夫婦的方式做到這一點SPARQL:

SELECT ?label 
WHERE { 
    ?s rdfs:label ?label . 
    FILTER (lang(?label) = "en") 
} 

...或使用SPARQL的langMatches

SELECT ?label 
WHERE { 
    ?s rdfs:label ?label . 
    FILTER langMatches(lang(?label), "en") 
} 
+1

在第二個查詢中存在拼寫錯誤:它應該是變量而不是?sn – innovimax

+1

它應該是'?label'。謝謝你讓我知道1 – scotthenninger