검색하는 두 개의 쿼리를 결합하는 방법 :SPARQL 위키 데이터 - 내가 예에서 설명하는 문제 다음 한 객체 정보
내가 삼중Germany - capital - object
에서 객체Berlin
를 검색 할를. 사람들은 내 프로그램에 입력이 때문에
나는 , 라벨를 사용해야합니다.
prefix wdt: <http://www.wikidata.org/prop/direct/>
prefix wikibase: <http://wikiba.se/ontology#>
prefix bd: <http://www.bigdata.com/rdf#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?objectLabel WHERE {
?subject wdt:P36 ?object .
?subject rdfs:label "Germany"@en .
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" .}
}
:Germany
및 URIP36 (capital)
가 원하는 정보 Berlin
나를 다시주는 레이블 쿼리에 따라
prefix wdt: <http://www.wikidata.org/prop/direct/>
prefix wikibase: <http://wikiba.se/ontology#>
prefix bd: <http://www.bigdata.com/rdf#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?propertyLabel WHERE {
?property a wikibase:Property .
?property rdfs:label "capital"@en
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" .}
}
:
다음 쿼리는 propertyLabelcapital
날 다시 제공 하지만을 사용하고 싶습니다.은 레이블입니다. 나는 두 가지 선택 또는 연합으로 다양한 방법을 시도했지만 수천 개의 결과를 얻었거나 전혀 얻지 못했습니다. (이 작동하지 않지만) 쿼리는 다음과 같아야합니다
prefix wdt: <http://www.wikidata.org/prop/direct/>
prefix wikibase: <http://wikiba.se/ontology#>
prefix bd: <http://www.bigdata.com/rdf#>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
SELECT DISTINCT ?objectLabel WHERE {
?subject ?property ?object .
?subject rdfs:label "Germany"@en .
?property a wikibase:Property .
?property rdfs:label "capital"@en
SERVICE wikibase:label { bd:serviceParam wikibase:language "en" .}
}
이미 위에서 언급 한 쿼리는 다른 Berlin
아무것도 돌아 오지 있습니다. 미리 감사드립니다.
"capital"레이블에 대한 속성 검색은'wd : P36'을 반환하지만 인스턴스 데이터는'wdt : P36'을 사용합니다. – AKSW