2016-09-20 45 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