PyRDB2RDF provides RDFLib with an interface to relational databases as RDF stores. The underlying data is accessed via SQLAlchemy. It is mapped to RDF according to the specifications of RDB2RDF. The corresponding RDF graph is represented as an RDFLib graph.
Translating from relational data to RDF via direct mapping is currently supported. Translating in the other direction and mapping with R2RML are planned but not yet implemented.
pip install rdb2rdf
Suppose the local PostgreSQL database test_dm
contains data that
we want to translate to RDF and serialize as N-Triples. The following
code achieves that.
import rdflib as _rdf
import sqlalchemy as _sqla
db_str = 'postgresql://testuser:testpasswd@localhost/testdb'
db = _sqla.create_engine(db_str)
graph = _rdf.Graph('rdb2rdf_dm')
graph.open(db)
print(graph.serialize(format='nt'))