Utility for converting an RDF file to SQLite
Project description
rdf-to-sqlite
Load the contents of an RDF file into a set of SQLite database tables.
$ rdf-to-sqlite --help
Usage: rdf-to-sqlite [OPTIONS] DB_PATH RDF_FILE
Convert an RDF file to SQLite
Options:
--version Show the version and exit.
--context TEXT URL or file containing a JSON-LD context
--format [html|n3|nquads|nt|rdfa|rdfa1.0|rdfa1.1|trix|turtle|xml|json-ld]
RDF serialization format [required]
--help Show this message and exit.
Usage
Given an RDF file example.ttl
containing the following:
@prefix ns1: <http://schema.org/> .
<http://www.janedoe.com/> a ns1:Person ;
ns1:jobTitle "Professor" ;
ns1:name "Jane Doe" ;
ns1:telephone "(425) 123-4567" .
Running this command:
$ rdf-to-sqlite example.db example.ttl --format turtle --context https://schema.org/docs/jsonldcontext.jsonld
Will create a database file example.db
with this schema, using a property
table approach to RDF storage on relational databases [1], [2]:
CREATE TABLE [Person] (
[@context] TEXT,
[id] TEXT PRIMARY KEY,
[jobTitle] TEXT,
[name] TEXT,
[telephone] TEXT
);
CREATE TABLE [Person_rdf:type] (
[subject] TEXT,
[predicate] TEXT,
[object] TEXT,
PRIMARY KEY ([subject], [object])
);
Acknowledgements
Thanks to Simon Willison for the inspiration from his work on Datasette and more specifically yaml-to-sql, which was a very useful example for how to package this up properly.
References
[1] Sakr, S. and Al-Naymat, G., 2010. Relational processing of RDF queries: a survey. ACM SIGMOD Record, 38(4), pp.23-28.
[2] Ali, W., Saleem, M., Yao, B., Hogan, A. and Ngomo, A.C.N., 2020. Storage, indexing, query processing, and benchmarking in centralized and distributed rdf engines: A survey. arXiv preprint arXiv:2009.10331.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for rdf_to_sqlite-0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f9f8ccd9f33a2830f9b9187dbca58be4e7ae1ae3db068d5fa780225e8166237 |
|
MD5 | 9eec572c42ed5707c189f1735997bbdc |
|
BLAKE2b-256 | 97ca1825673b41cfd5e444008e06ce4988052549574e82a03ff4fe52169d4e1c |