문제

나는 opendata에서 새로운 것이고 도움이 필요합니다.Wikipedia는이 URL에 Sparql 엔드 포인트가 있습니다. http://dbpedia.org/sparql 이제 dbpedia에서 rdf 파일을 가져 오려면 webservice를 작성해야합니다.RDF 파일을 얻으려면이 엔드 포인트에 무엇을 보내야합니까?

도움이 되었습니까?

해결책

Construct 쿼리를 보냅니다.약간의 예 :

CONSTRUCT { ?s ?p ?o }
WHERE { ?s ?p ?o }
LIMIT 10
.

WHERE 절은 선택 만 선택하는 것만으로 작동합니다. 구성 블록을 일종의 템플릿으로 채 웁니다.그것은 매우 유연합니다 - 진술을 여기서 복사하거나 완전히 다른 모양으로 변환 할 수 있습니다.

다른 팁

대니가 대답 한 것은 올바른 일반적인 대답입니다.그러나 결과를 얻을 것으로 예상되는 시간은 외부 서비스에 대한 그러한 쿼리를 수행하는 것이 좋습니다.구체적인 자원 위에해라

그러나 물론 쿼리 결과를 수동으로 저장할 필요없이 직접하고 싶다면 Python은 예를 들어 코드가 보일 것입니다 :

from SPARQLWrapper import SPARQLWrapper, XML

uri = "http://dbpedia.org/resource/Asturias"
query = "CONSTRUCT { <%s> ?p ?o } WHERE { <%s> ?p ?o }" % (uri, uri)

sparql = SPARQLWrapper("http://dbpedia.org/sparql")
sparql.setQuery(query)
sparql.setReturnFormat(XML)
results = sparql.query().convert()

file = open("output.rdf", "w")
results.serialize(destination=file, format="xml")
file.flush()
file.close()
.

물론, 이는 거의 모든 프로그래밍 언어로 수행 될 수 있습니다.

Bob Ducharme의 "NoFollow">"Sparql " 책을 읽고 싶습니다.Dbpedia 엔드 포인트를 사용하는 몇 가지 예제를 다룹니다.

PS : Wikipedia의 Sparql 엔드 포인트가 아닙니다. Dbpedia Sparql 엔드 포인트 (Wikipedia 자체가 자신의 Sparql Endpoint ATM를 제공하지 않습니다).그러나 DBPEDIA 데이터는 Wikipedia 데이터에 의존합니다.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top