次のPythonライブラリをインストールします:
pip install rdflib
pip install rdflib-sqlalchemy
pip install psycopg2
次のPythonコードを実行します:
from rdflib import plugin
from rdflib.graph import Graph
from rdflib.store import Store
from rdflib_sqlalchemy import registerplugins
registerplugins()
SQLALCHEMY_URL ="postgresql+psycopg2://user:[email protected]:port/databasename"
store = plugin.get("SQLAlchemy", Store)(identifier="my_store")
graph = Graph(store, identifier="my_graph")
graph.open(SQLALCHEMY_URL, create=True)
graph.parse("demo.nt", format="nt")
result = graph.query("select * where {?s ?p ?o} limit 10")
for subject, predicate, object_ in result:
print(subject, predicate, object_)
graph.close()
'demo.nt'は、インポートするN-Triplesファイルです。私はこれをテストに使用しました:
<http://example.org/a> <http://example.org/b> <http://example.org/c> .
正常にインポートされた後、データベースには、トリプルが入力された5つのテーブル(たとえば、kb_ [some_id] _asserted_statements)が含まれます。コンソールは最大で10個のトリプルを印刷しました。
Windows 10、PostgreSQL 10.5、Python 3.5.4(すべて64ビット)、rdflib-4.2.2、rdflib-sqlalchemy-0.3.8、およびpsycopg2-2.7.5でテスト済み。