Skip to main content

Utility for converting an RDF file to SQLite

Project description

rdf-to-sqlite

PyPI Changelog Tests License

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

rdf-to-sqlite-0.2.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

rdf_to_sqlite-0.2-py3-none-any.whl (8.6 kB view details)

Uploaded Python 3

File details

Details for the file rdf-to-sqlite-0.2.tar.gz.

File metadata

  • Download URL: rdf-to-sqlite-0.2.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for rdf-to-sqlite-0.2.tar.gz
Algorithm Hash digest
SHA256 5f3a5021d3a42165d4317771c1b7256ab6ac9398cd2f2312c00548724876f0fe
MD5 f852cb0b82b0d080ea085ef5320d87b2
BLAKE2b-256 4968444682ea8a66a9fc233c758e76e77ed5030c5da9712825c083c35366cd21

See more details on using hashes here.

File details

Details for the file rdf_to_sqlite-0.2-py3-none-any.whl.

File metadata

  • Download URL: rdf_to_sqlite-0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.7.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6

File hashes

Hashes for rdf_to_sqlite-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 4f9f8ccd9f33a2830f9b9187dbca58be4e7ae1ae3db068d5fa780225e8166237
MD5 9eec572c42ed5707c189f1735997bbdc
BLAKE2b-256 97ca1825673b41cfd5e444008e06ce4988052549574e82a03ff4fe52169d4e1c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page