2017-03-03 9 views
0

は、私はそれがうまく実行され、http://localhost:7200/sparqlすなわちGraphDB Workbenchで必要に応じて結果を生成
GraphDB- PythonのSPARQLクエリを返す:HTTPステータス(404)

select * where { 
    ?s ?p ?o . 
} limit 100 

SPARQLクエリ次のコマンドを実行しようとしています。 私は、同じクエリを実行するためのpythonを使用したいと、このために私はGraphDBインタフェースの「現在のクエリにURLを取得」をクリックしてクエリのURLを次のように生成。

http://localhost:7200/sparql?name=&infer=true&sameAs=false&query=select+*+where+%7B+%0A%09%3Fs+%3Fp+%3Fo+.%0A%7D+limit+100+%0A&execute= 

私はこの

のためのPythonコードを書いてみました
import pycurl 
from StringIO import StringIO 
url="http://localhost:7200/sparql?name=&infer=true&sameAs=false&query=select+*+where+%7B+%0A%09%3Fs+%3Fp+%3Fo+.%0A%7D+limit+100+%0A&execute=" 
response_buffer = StringIO() 
curl = pycurl.Curl() 
curl.setopt(curl.URL,url) 
curl.setopt(curl.USERPWD, '%s:%s' % (' ' , ' ')) 
curl.setopt(curl.WRITEFUNCTION, response_buffer.write) 
curl.perform() 
curl.close() 
response_value = response_buffer.getvalue() 
print response_value 

しかし、これは返しますエラー - 、メッセージなしの詳細

のためのサーバーのログを見て、私はPythonでGraphDBを照会するための追加設定を行う必要があります - HTTPステータス(404)。 PythonとSparqlを使用してGraphDBを照会する方法に関するガイダンスを得ることができますか?

+0

例では、両方のURLが一致しません。 – AKSW

+0

はい、ここに入力中に変更されました。しかしもともとは試してみると同じです..コメントありがとうございました。ここでタイプミスを編集しました。 – vinay2k2

+0

[sparql-wrapper](https:// rdflib)をチェックしてみてください。 github.io/sparqlwrapper/)、それはカールよりもGraphDBを照会する方がはるかにいいです... –

答えて

1

GraphDBデータベースは、RDFリポジトリごとにSPARQLエンドポイントを公開します。正しいSPARQLエンドポイント・アドレスは、WorkbenchのインターフェースSetup> Repositories>リポジトリー名の横にあるリンク・アイコン(「Copy Repository URL to Clipboard」)からコピーできます。

%のリポジトリIDの%値がリポジトリのIDです
http://localhost:7200/repositories/%repositoryID%?name=&infer=true&sameAs=false&query=select+*+where+%7B+%0A%09%3Fs+%3Fp+%3Fo+.%0A%7D+limit+100+%0A&execute= 

あなたのHTTPリクエストは次のようになります。

関連する問題