SPARQL:无法使用FactForge端点

时间:2017-11-23 11:13:17

标签: python sparql rdflib graphdb

我正在使用python来运行一些sparql次查询。我想从http://factforge.net/sparql

中提取信息
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()

此查询适用于factforge网站但在本地我收到以下错误EndPointNotFound: it was impossible to connect with the endpoint in that address, check if it is correct.

1 个答案:

答案 0 :(得分:2)

GraphDB公开了RDF4J风格的API。这正是Help页面上的内容。

SPARQL端点地址应为http://factforge.net/repositories/{repositoryID}

不幸的是,无法确定GraphDB中SPARQL使用的是哪个存储库。

您可以在浏览器中使用F12 Developer Tools来实现此目的。或者About页面上写着:

  

应用程序可以通过SPARQL访问FactForge   http://factforge.net/repositories/ff-news
  这也是用于联合SPARQL查询的服务地址。