나는 위키 타타를 처음 접했습니다. 나는 위키 다타가 많은 구체화를 사용한다고 생각했습니다.프로그래밍 방식으로 Wikidata 엔터티에서 사용 가능한 모든 정보를 얻는 방법?
Obama에 대한 모든 정보를 얻고 자한다고 가정 해 봅시다. DBpedia에서이 작업을 수행하려는 경우 간단한 쿼리 만 사용합니다. select * where {<http://dbpedia.org/resource/Barack_Obama> ?p ?o .}
이렇게하면 Obama가 대상이되는 모든 속성과 값이 반환됩니다. 본질적으로이 결과는이 페이지와 같습니다 : http://dbpedia.org/page/Barack_Obama
쿼리 결과는 필요한 형식입니다.
나는 Wikidata와 같은 일을하는 방법을 궁금해. 이것은 오바마의 위키 다타 페이지입니다 : https://www.wikidata.org/wiki/Q76
. 이 페이지의 모든 내용을 원한다고 가정 해 봅시다. 그러나이 페이지의 거의 모든 진술은 계급과 한정어 등이 있다는 점에서 다시금 증명됩니다. 예를 들어, "educated at"부분에는 학교가있을뿐만 아니라 "시작 시간"과 "종료 시간" 오바마가 더 이상이 학교에 없기 때문에 모든 학교는 평범한 학교로 등급이 매겨집니다.
난 그냥 (https://query.wikidata.org 사용) truthy 문을 얻어서 모든 학교를 얻을 수 :
SELECT ?school ?schoolLabel WHERE {
wd:Q76 wdt:P69 ?school .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
위 쿼리합니다 간단한 반환 모든 학교. 내가 시작 시간과 학교의 종료 시간을 얻고 싶은 경우에
, 나는이 수행해야합니다
SELECT ?school ?schoolLabel ?start ?end WHERE {
wd:Q76 p:P69 ?school_statement .
?school_statement ps:P69 ?school .
?school_statement pq:P580 ?start .
?school_statement pq:P582 ?end .
SERVICE wikibase:label {
bd:serviceParam wikibase:language "en" .
}
}
을하지만 일이 실제 페이지를 보지 않고있다, 내가 어떻게 알고 것 ? school_statement에는 pq : P580 및 pq : P582, 즉 "시작 시간"과 "종료 시간"이 있습니까? 그리고 모든 정보 (구체화 포함)를 https://www.wikidata.org/wiki/Q76
에서 얻으려면 어떻게해야할까요? 대신 SPARQL 엔드 포인트의 ||predicate||object||objectLabel||qualifier1||qualifier1Value||qualifier2||qualifier2Value||...