Skip to main content

Powerful [R2]RML engine to create RDF knowledge graphs from heterogeneous data sources.

Project description

License DOI Latest PyPI version Python Version PyPI status build Documentation Status

Morph-KGC is an engine that constructs RDF and RDF-star knowledge graphs from heterogeneous data sources with the R2RML, RML and RML-star mapping languages. Morph-KGC is built on top of pandas and it leverages mapping partitions to significantly reduce execution times and memory consumption for large data sources.

Citing Morph-KGC: If you used Morph-KGC in your work, please cite the SWJ paper:

@article{arenas2022morph,
  title   = {{Morph-KGC: Scalable knowledge graph materialization with mapping partitions}},
  author  = {Arenas-Guerrero, Julián and Chaves-Fraga, David and Toledo, Jhon and Pérez, María S. and Corcho, Oscar},
  journal = {Semantic Web},
  year    = {2022},
  doi     = {10.3233/SW-223135}
}

Main Features

Documentation

Read the documentation.

Tutorial

Learn quickly with the tutorial in Google Colaboratory!

Getting Started

PyPi is the fastest way to install Morph-KGC:

pip install morph-kgc

We recommend to use virtual environments to install Morph-KGC.

To run the engine via command line you just need to execute the following:

python3 -m morph_kgc config.ini

Check the documentation to can see how to generate the configuration INI file. Here you can also see an example INI file.

It is also possible to run Morph-KGC as a library with RDFLib and Oxigraph:

import morph_kgc

# generate the triples and load them to an RDFLib graph
g_rdflib = morph_kgc.materialize('/path/to/config.ini')
# work with the RDFLib graph
q_res = g_rdflib.query(' SELECT DISTINCT ?classes WHERE { ?s a ?classes } ')

# generate the triples and load them to Oxigraph
g_oxigraph = morph_kgc.materialize_oxigraph('/path/to/config.ini')
# work with Oxigraph
q_res = graph.query(' SELECT DISTINCT ?classes WHERE { ?s a ?classes } ')

# the methods above also accept the config as a string
config = """
            [DataSource1]
            mappings: /path/to/mapping/mapping_file.rml.ttl
            db_url: mysql+pymysql://user:password@localhost:3306/db_name
         """
g_rdflib = morph_kgc.materialize(config)

License

Morph-KGC is available under the permissive Apache License 2.0.

Author

Ontology Engineering Group, Universidad Politécnica de Madrid.

Contributors

See the full list of contributors here.

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

morph_kgc-2.2.0.tar.gz (37.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

morph_kgc-2.2.0-py3-none-any.whl (40.2 kB view details)

Uploaded Python 3

File details

Details for the file morph_kgc-2.2.0.tar.gz.

File metadata

  • Download URL: morph_kgc-2.2.0.tar.gz
  • Upload date:
  • Size: 37.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for morph_kgc-2.2.0.tar.gz
Algorithm Hash digest
SHA256 cdb52f4655873f1adea41a7462dba325b8d620bcc7677566f5527be42649a335
MD5 fcc3b3b9d352f3623ba88c4cee4a2cfb
BLAKE2b-256 6e406f42f8b47a61ad925184498539078be17978a92489c94b1c92794b42e432

See more details on using hashes here.

File details

Details for the file morph_kgc-2.2.0-py3-none-any.whl.

File metadata

  • Download URL: morph_kgc-2.2.0-py3-none-any.whl
  • Upload date:
  • Size: 40.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for morph_kgc-2.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6240bbb89bf1439c168c792eb72645a280eddd4b79bea229d026ebaf7658a98d
MD5 411a86a8ceb3ce22fe4d5fdc794e8050
BLAKE2b-256 a97497d2f00ef404b2ec025fc432f1c1e6cd068d77bca621099799ad8c8ee039

See more details on using hashes here.

Supported by

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