sql >> Databasteknik >  >> RDS >> PostgreSQL

Laddar RDF-data till PostgreSQL-tabellen genom RDFLib-SQLAlchemy

Installera dessa Python-bibliotek:

pip install rdflib
pip install rdflib-sqlalchemy
pip install psycopg2

Kör följande Python-kod:

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' är N-Triples-filen att importera. Jag använde detta för att testa:

<http://example.org/a> <http://example.org/b> <http://example.org/c> .

Efter att ha importerats framgångsrikt innehåller din databas fem tabeller (t.ex. kb_[some_id]_asserted_statements) fyllda med trippel. Konsolen har som mest tryckt tio trippel.

Testad på Windows 10, PostgreSQL 10.5, Python 3.5.4 (alla 64bitar) med rdflib-4.2.2, rdflib-sqlalchemy-0.3.8 och psycopg2-2.7.5.




  1. Hur använder man DataContext.ExecuteCommand och får det exekverade lagrade proc-returvärdet?

  2. Hur man räknar ut storleken på index i MySQL

  3. Hur uppnår man standardvärdet om kolumnvärdet är NULL?

  4. Genererar en serie datum