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.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81711532f6a49054ecd1f9ce3d2499da1f3f39bca58912ead135b71bc7749ca2 |
|
MD5 | 44fab99db3a777572b5075a4e277595d |
|
BLAKE2b-256 | 3982aee4137f3676d14c5b0ce9d34f472f6fba8b46ba3b0fcd59123954d4be3d |