0

次のクエリを使用して、間違ったタイトルが指定された正しいタイトルのリソースへのリンク/URIを取得しています:

PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX dbo: <http://dbpedia.org/ontology/>
SELECT ?redirectsTo WHERE {
  ?x rdfs:label "Environmental Protection Agency"@en .
  ?x dbo:wikiPageRedirects ?redirectsTo
}

dbpedia エンドポイントを使用すると、これは問題ではなく、米国環境保護庁の記事への正しいリンクが返されます。

私は python SPARQLWrapper ライブラリを使用して sparql クエリを送信していますが、python を使用してこれとまったく同じクエリを実行すると、次のようになります。

sparql = SPARQLWrapper("http://dbpedia.org/sparql")
        # First check if this entity redirects to another entity
        sparql.setQuery("""
            PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
            PREFIX dbo: <http://dbpedia.org/ontology/>
            PREFIX db: <http://dbpedia.org/resource/>
            SELECT ?redirectsTo WHERE {
              ?x rdfs:label "%s"@en .
              ?x dbo:wikiPageRedirects ?redirectsTo
            }
        """ % entity)
        sparql.setReturnFormat(JSON)
        uri_result = sparql.query().convert()['results']['bindings']
        print(uri_result)

リダイレクトのない結果の空のリストを取得します。ただし、このクエリは Python で機能するものもあります。たとえば、オバマはバラク オバマのリンクを提供します。

sparql Web インターフェースが別のデータセットを使用していると聞いたことがありますか? もしそうなら、私のpythonスクリプト内でこれをどのように使用できますか

ありがとう

4

0 に答える 0