제 질문은 모든 속성을 추출 할 수있는 방법이며, 선호되는 SPARQL에서 wikidata의 웹 페이지에도 렌더링되는 각각의 라벨이 어떻게 생겼는지입니다.wikidata는 아이템의 라벨과 값으로 모든 속성을 얻습니다.
예를 들어 위키 데이터에 Google 항목을 가져옵니다. 부동산 P414 (증권 거래소) 또는 P159에는 P969 (거리 주소에 위치)와 같은 하위 속성이 있습니다. 그들은 사실상 일단 당신이 querywbgetentities
자격으로 나타납니다. wbgetentities
의 문제점은 레이블이없는 것입니다.
SELECT ?prop_id ?prop_label ?prop_val_label WHERE {
VALUES (?company) {
(wd:Q95)
}
?company ?prop_id ?company_item.
?wd wikibase:directClaim ?prop_id.
?wd rdfs:label ?prop_label.
OPTIONAL {
?company_item rdfs:label ?prop_val.
FILTER((LANG(?prop_val)) = "en")
}
BIND(COALESCE(?prop_val, ?companyItem) AS ?prop_val_label)
FILTER((LANG(?prop_label)) = "en")
}
그러나 그들이 직접 주장에 따라하지 않기 때문에 그 "하위 속성"누락 : 내가 원하는 다음 SPARQL 쿼리와 출력 (예를 들어, wdt:P17 => country => United States of America
)을 얻는다. 단일 명령문 한정자를 추출하려면 다음을 수행 할 수 있습니다.
SELECT ?company ?hq ?country WHERE {
wd:Q95 p:P159 ?company.
OPTIONAL {
?company ps:P159 ?hq.
?company pq:P17 ?country.
}
}
하지만 질문을 모두 하나의 쿼리에 결합하는 방법이 있습니까? 위키 데이터의 데이터 모델에