rdflib_sqlalchemy.SQLAlchemy
を使用して、大きなRDFデータセット(Geonamesデータセット:18GB)をPostgreSQLのテーブルにロードしました。Python RDFLibからSPARQLクエリを高速化するにはどうすればよいですか?
私は、RDFLibをサポートするPythonスクリプトから以下の簡単なクエリを実行しました。私に結果を与えるのに2時間以上かかりました。 トリプルストア(例:Virtuoso)にRDFデータを注入することなく高速化する方法はありますか?
mystore = store.SQLAlchemy(configuration="postgresql://localhost:5873/postgres")
g = Graph(mystore, identifier="test")
results = g.query("""SELECT ?s ?p ?o WHERE {?s ?p ?o .} LIMIT 1""")
for row in results:
print row
私はクラスタの計算ノードで作業しています。私は次のようなメモリ内データを使ってクエリを実行しようとしました。しかし、まだ、それは遅いです。
g = Graph()
g.parse('geonames.nt', format='nt')
results = g.query("""SELECT ?s ?p ?o WHERE {?s ?p ?o .} LIMIT 1""")
for row in results:
print row
あなたの意見をお知らせください。ご協力ありがとうございました。
このサイズのデータは、RDFストアにロードする方が適しています。 –
これはrdflibバージョンですか?また、https://github.com/RDFLib/rdflib-sqlalchemy/issuesのバグレポートを開くことを検討してください –