2016-09-13 7 views
1

Wikidata's SPARQL endpoint에 나는 누군가가 대학 선생으로 고용 된 모든 대학을 찾고 싶습니다. 지금까지, 나는 다음과 같은 쿼리 유형의 트리플 (사람, 위치 helf, 고용주)를 얻을 수 있었다 :Wikidata SPARQL Query

PREFIX bd: <http://www.bigdata.com/rdf#> 
PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wikibase: <http://wikiba.se/ontology#> 
PREFIX p: <http://www.wikidata.org/prop/> 
PREFIX v: <http://www.wikidata.org/prop/statement/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/> 
PREFIX pq: <http://www.wikidata.org/prop/qualifier/> 

SELECT DISTINCT ?s ?sp ?q ?sLabel ?spLabel ?qLabel WHERE { 
    ?s p:P39 ?p . 
    ?p v:P39 ?sp . 
    ?p pq:P108 ?q . 
    SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "en" . 
    } 
} 

이 쿼리는 그 사람이 보유하는 모든 위치를 반환합니다. 저는 제게 대학 선생님의 자리에 머물기를 원합니다 (wd : Q1622272).

가능한 경우 간단한 쿼리를 요청합니다.

+1

'만약 sp' 보류 위치, 그것은 WD'에 의해 그것을 대체 작동하지 않습니다 의미? : Q1622272' 그럼? – AKSW

답변

3

트리플 패턴 ?p v:P39 ?sp .에서 원하는 특정 위치 (예 : wd:Q1622272)와 변수 ?sp 교체 :

PREFIX bd: <http://www.bigdata.com/rdf#> 
PREFIX wd: <http://www.wikidata.org/entity/> 
PREFIX wikibase: <http://wikiba.se/ontology#> 
PREFIX p: <http://www.wikidata.org/prop/> 
PREFIX v: <http://www.wikidata.org/prop/statement/> 
PREFIX wdt: <http://www.wikidata.org/prop/direct/> 
PREFIX pq: <http://www.wikidata.org/prop/qualifier/> 

SELECT DISTINCT ?s ?q ?sLabel ?qLabel WHERE { 
    ?s p:P39 ?p . 
    ?p v:P39 wd:Q1622272 . # Here 
    ?p pq:P108 ?q . 
    SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "en" . 
    } 
}