morph-kgc/morph-kgc

Ahmad Alobaid

Data Scientist
ML Engineer
Software Engineer
Python

Morph-KGC is an engine that constructs

RDF

knowledge graphs from heterogeneous data sources with the

R2RML

and

RML

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.

Features

Supports the

R2RML

and

RML

mapping languages.

Transformation functions with

RML-FNML

.

RDF-star

generation with

RML-star

.

Human-friendly mappings with

YARRRML

.

RML views

over tabular data sources and

JSON

files.

Input data formats:

Integration with

RDFLib

and

Oxigraph

.

Remote data and mapping files.

Optimized to materialize large knowledge graphs.

Runs on Linux, Windows and macOS systems.

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 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 = g_oxigraph.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

Apache License 2.0

.

Author & Contact

Citing

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} }

Contributors

See the full list of contributors

here

.

Sponsor

Partner With Ahmad
View Services

More Projects by Ahmad