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

나는 현재 아파치 예나 포석 서버를 사용하고 내 샘플 RDF이다 SPARQL 쿼리를 수행합니다. rdfs : label을 얻으려고 할 때 세 가지 값을 모두 돌려줍니다.

미리 감사드립니다.

+0

쿼리 당신은 무엇을 시도이야? 터틀에 데이터를 표시 할 수 있습니까? SPARQL에 더 잘 부합되며 오류를 표시 할 수 있습니까? – TallTed

+0

이것은 합법적 인 RDF 파일은 아닙니다 (단 하나의 스 니펫 일 수 있음). 실제로 트리플을 지정하기에는 충분하지 않습니다. –

+1

[DBPedia에서 영어로 모든 유형과 해당 레이블 추출하기] (http://stackoverflow.com/q/18733225/1281433)에 대한 대답은이를 수행하는 방법을 설명합니다. –

답변

3

결과에 원하는 언어 태그로 필터링 할 수 있습니다.

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

을 ... 또는 SPARQL의 langMatches 사용 : 몇 가지 방법은 SPARQL에서이 작업을 수행하는

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

두 번째 쿼리에 오타가 있습니다 :? sn – innovimax

+1

대신 변수가 있어야합니까? 'label'이어야합니다. 알려 주셔서 감사합니다 .1 – scotthenninger