nisavid / pyrdb2rdf

A Python library for RDB2RDF Direct Mapping and R2RML.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PyRDB2RDF

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.

Installation

pip install rdb2rdf

Examples

Serializing a database as N-Triples

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'))

About

A Python library for RDB2RDF Direct Mapping and R2RML.

License:GNU Lesser General Public License v3.0


Languages

Language:Python 83.5%Language:Makefile 16.5%