2017-11-23 19 views
1

sparql 쿼리를 실행하려면 python을 사용하고 있습니다. 나는이 쿼리는 factforge 웹 사이트에서 작동 http://factforge.net/sparqlSPARQL : FactForge 엔드 포인트를 사용할 수 없습니다.

sparql = SPARQLWrapper("http://factforge.net/sparql") 
query = """ 
# F02: Big Cities in Eastern Europe 

PREFIX onto: <http://www.ontotext.com/> 
PREFIX gn: <http://www.geonames.org/ontology#> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX dbr: <http://dbpedia.org/resource/> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#> 

SELECT * FROM onto:disable-sameAs 
WHERE { 
    SERVICE <http://factforge.net/sparql>{ 
    ?loc gn:parentFeature dbr:Eastern_Europe ; 
     gn:featureClass gn:P; 
     gn:featureCode gn:A.ADM2. 
    ?loc dbo:populationTotal ?population ; dbo:country ?country . 
    ?country a dbo:Country . 
    } 
    FILTER(?population > 300000) 
    ?country skos:prefLabel ?country_name . 

} ORDER BY ?country_name DESC(?population) 

""" 
sparql.setQuery(query) 
sparql.setReturnFormat(JSON) 
results = sparql.query().convert() 

에서 정보를 추출하고 싶지만 로컬 나는 GraphDB이 RDF4J 스타일의 API를 노출 다음과 같은 오류 EndPointNotFound: it was impossible to connect with the endpoint in that address, check if it is correct.

답변

1

을받을 수 있습니다. 이것은 정확히 Help 페이지에서 말한 내용입니다.

SPARQL 엔드 포인트 주소는 http://factforge.net/repositories/{repositoryID}이어야합니다.

GraphDB에서 SPARQL에서 사용되는 저장소를 결정하는 것은 불가능합니다.

브라우저에서 F12 개발자 도구를 사용할 수 있습니다. 또는 About 페이지는 말한다 :

응용 프로그램 http://factforge.net/repositories/ff-news에서 SPARQL을 통해 FactForge에 액세스 할 수 있습니다.
이것은 연합 SPARQL 쿼리에 사용될 서비스 주소이기도합니다.