저는 SPARQL의 초보자이며이 끝 점 http://spcdata.digitpa.gov.it:8899/sparql에서 작업하고 있습니다. DBpedia 그래프의 데이터에 참여하고 싶습니다. DBpedia 리소스를 참조 할 때 owl:sameAs
속성을 사용하고 있습니다.Dbpedia의 Sparql 쿼리와 다른 그래프가 예상보다 적은 결과를 반환합니다.
나는 dbp:populationTotal
값이 정의 된 클래스 pa:Comune
에 속하는 모든 도시의 이름과 모집단 값을 가져오고 싶습니다. 내 검색어는 다음과 같습니다.
PREFIX pa: <http://spcdata.digitpa.gov.it/>
PREFIX rdf: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbp: <http://dbpedia.org/ontology/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT ?label ?populationTotal WHERE {
?s a pa:Comune .
?s rdf:label ?label .
?s owl:sameAs ?sameAs .
?sameAs dbp:populationTotal ?populationTotal .
}
ORDER BY ?label
불행히도 결과는 정확하지만 매우 작은 하위 집합 만 표시됩니다. 나는 체크했다. 더 많은 지방 자치 단체가 DBpedia에 대한 참조가 있는데, 속성 값은 dbp:populationTotal
이다. 나는 모든 다른 스폰지 값으로 시도했지만 결과는 여전히 동일합니다. 문제는 다른 그래프에서 데이터를 가져 오는 것일 수 있지만 어떻게해야할지 모르겠습니다.
편집 : 내가 이안 디킨슨의 제안 후이 쿼리를 시도했습니다, 그리고 그것을 작동합니다!
PREFIX pa: <http://spcdata.digitpa.gov.it/>
PREFIX rdf: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbp: <http://dbpedia.org/ontology/>
PREFIX owl: <http://www.w3.org/2002/07/owl#>
SELECT DISTINCT ?label ?sameAs ?populationTotal WHERE {
?s a pa:Comune .
?s rdf:label ?label .
?s owl:sameAs ?sameAs .
FILTER (REGEX(STR(?sameAs), "dbpedia", "i")).
SERVICE <http://dbpedia.org/sparql>
{
?sameAs dbp:populationTotal ?populationTotal .
}
} LIMIT 1700
불행하게도,이 이탈리아 8000+ muncipalities이있다, 그래서 결과 모자했다 (I는 시간 제한없이 얻을 수있는 히트의 높은 숫자는 따라서 LIMIT (1700).).
끝점은이 데이터에 연결됩니다. http://spcdata.digitpa.gov.it/dataIPA.html (미안, 이탈리아어로만 제공됨). DbPedia 데이터를 참조 할 수 있다고 확신했지만 제안한대로 부분적으로로드 된 것처럼 보입니다. 또한 SERVICE 키워드를 시도했지만 성공하지는 못했습니다. DbPedia 만 사용 하시겠습니까? 나는 시정촌을위한 수업을 찾기가 힘듭니다. –
통합 쿼리는 까다로울 수 있습니다. 'spcdata.digitpa.gov.it' 엔드 포인트에로드되는 28 개 시정촌에 대해 특별한 것이 있습니까? (당신 말이 맞아요 - 나는 두려워하는 이탈리아 인을 읽을 수 없다). 이 링크는 Virtuoso의 SPARQL 구현에 서비스 키워드를 사용하는 데 도움이 될 수 있습니다. http://boards.openlinksw.com/phpBB3/viewtopic.php?f=12&t=1709 –
나는 말할 수 없었다! 28 개의 기록이 특별한 것을 공유하지 않는 것 같습니다. 나는 당신의 제안을 가지고 시험해 보았습니다. 그리고 그것은 아주 잘 작동했습니다, 감사합니다! 내 편집을 확인하십시오. –