Skip to main content

AutoRML: A framework for automatic RML mapping generation using semantic table annotations

Project description

AutoRML

License Python Versions

AutoRML is a system that automatically generates declarative mappings (YARRRML and RML) and constructs RDF knowledge graphs for tabular data. It does so by utilizing third-party semantic table annotation systems, mapping produced semantic annotations to declarative mapping rules.

AutoRML can be used with different semantic table annotation systems. It has been tested with MTab and TorchicTab. UPDATE: MTab has dropped support. Only TorchicTab is currently available.

System Overview

Installation

Python versions 3.9, 3.10, and 3.11 are tested and recommended. In case of conflicts, create a new virtual environment. For example, if you use conda, run:

conda create -n autorml_env python=3.11
conda activate autorml_env

AutoRML installation:

pip install autorml

Usage

Usage: 
python -m autorml <options>

Options:
-h,--help                           Show options information
-i, --input_table                   Input table in CSV format
-sta, --sta_system                  Used semantic table annotation system (default: torchictab)
-m, --materialize                   Enable RDF materialization 
-sa, --save_annotations             Save semantic table annotation system results
-af, --annotations_folder           Output annotations folder (default: annotations)
-oa, --annotations_output           Output annotations file (default: annotations.json)
-mf, --mappings_folder              Output mappings folder (default: mappings)
-oy, --yarrml_output                Output YARRRML mappings file (default: mappings.yml)
-or, --rml_output                   Output RML mappings (default: mappings.rml.ttl)
-rf, --rdf_folder                   Output RDF folder (default: rdf)
-okg, --rdf_output                  Output RDF file (default: kg.nt)
-ds, --delete_sem                   Delete supporting semantically enhanced table after termination
-la, --load_annotations             Load semantic table annotation system results from annotations folder
-ia, --annotations_input            Input annotations file

Example usage

You can find some tables to test AutoRML in the examples folder. To run AutoRML for one of the examples, go to the repository root and run:

python -m autorml -i "examples/tables/cities.csv" -m -sa -af "examples/annotations" -mf "examples/mappings" -rf "examples/rdf" -ds

After AutoRML terminates, explore the examples folder to see the results of AutoRML's automated declarative knowledge graph construction. The examples/annotations folder will include the semantic annotations generated by the used semantic table annotation system. The examples/mappings folder will include the human-readable YARRRML and the RML declarative mappings produced by AutoRML. The examples/rdf folder will include the RDF knowledge graph automatically generated from the input data source, utilizing AutoRML's RML mappings. You can explore and query the generated graph, as well as search for its relationships and entities in Wikidata, TorchicTab's target knowledge base to semantically annotate the tables.

The open-source version of AutoRML currently only supports TorchicTab as a semantic table annotation system, since MTab is no longer available. AutoRML is designed to support different semantic annotation systems, so you can also try hosting your own or contact AutoRML authors to test your tables.

Evaluations

To see AutoRML results for different dataset collections and semantic table annotation systems, unzip and explore evaluations/evaluations_data.zip or visit our dedicated AutoRML Evaluations Zenodo repository: (TODO add Zenodo link when we submit the paper. Currently the Zenodo repository exists but is private). The evaluation files contain semantic annotations, mappings and RDF knowledge graphs automatically generated by AutoRML, using two different semantic table annotations systems: MTab and TorchicTab, and five differnet collections of CSV tables.

Annotation accuracy: Annotation accuracy

Annotation automation: Annotation automation

Contact

Ioannis Dasoulas: ioannis.dasoulas@kuleuven.be

Anastasia Dimou: anastasia.dimou@kuleuven.be

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

autorml-0.1.4.tar.gz (17.0 kB view details)

Uploaded Source

Built Distribution

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

autorml-0.1.4-py3-none-any.whl (18.1 kB view details)

Uploaded Python 3

File details

Details for the file autorml-0.1.4.tar.gz.

File metadata

  • Download URL: autorml-0.1.4.tar.gz
  • Upload date:
  • Size: 17.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.19

File hashes

Hashes for autorml-0.1.4.tar.gz
Algorithm Hash digest
SHA256 4dfc739f39881cdd45706adae7e274a0920a54b841d18160363ea3226f6f91f0
MD5 786f67a6cf328e96b3d882127ad47cc8
BLAKE2b-256 e25de8ba262d0f66391c8d0308dfe4b03b0b1a6a640e4ac7ce4cc241085847a3

See more details on using hashes here.

File details

Details for the file autorml-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: autorml-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 18.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.19

File hashes

Hashes for autorml-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8284e9d0db11608c5f0f4512d1d8dfc877525dcb38f955087206b9f71a8faa76
MD5 8fd24d1edb3155502238fc8e4f3e3b8a
BLAKE2b-256 4602cfdbb60dd933291dcbc07691c811391a52e7effbb04dd08a3848f3e2fb45

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