Skip to content

oeg-upm/morph-csv

Repository files navigation

Morph-CSV

Morph-CSV is an open source tool for querying tabular data sources using SPARQL. It exploits the information from the query, RML+FnO mappings and CSVW metadata to enhance the performance and completness of traditional OBDA systems (SPARQL-to-SQL translators). At this moment can be embebed in the top of any R2RML-compliant system. For detail information, watch the introductory video about Morph-CSV. IF you have any related question on how to create RML+FnO or CSVW annotations, please ask to the W3C Community Group on Knowledge Graph Construction

Morph-csv workflow

Citing Morph-CSV: If you used Morph-CSV in your work, please cite as:

@article{chaves2021enhancing,
  author    = {Chaves{-}Fraga, David and Ruckhaus, Edna and Priyatna, Freddy and Vidal, Maria{-}Esther and Corcho, Oscar},
  title     = {Enhancing Virtual Ontology Based Access over Tabular Data with Morph-CSV},
  journal   = {Semantic Web},
  year      = {2021},
  doi       = {https://doi.org/10.3233/SW-210432},
  publisher = {IOS Press}
}

How to use it?

First of all clone the repository:

git clone https://github.com/oeg-upm/morph-csv.git
cd morph-csv

The best way to run Morph-CSV is using its user interface, deployable with docker*:

 docker-compose up -d

An user interface as we show in the following image will be display in localhost:5000 Morph-csv demo

If you prefer a CLI tool, we provide two ways to run morph-csv: using the created docker image or directly run with Python3:

  • Using docker and docker-compose*:

    docker-compose up -d
    docker exec -it morphcsv python3 /morphcsv/morphcsv.py -c /configs/config-file.json -q /queries/query-file.rq
  • Using python3 (under a UNIX system):

    pip3 install -r requirements.txt
    python3 morphcsv.py -c path-to-config-file.json -q path-to-query-file.rq

*If you have any local resource you want to use copy it to the corresponding shared volume (folders: data, mappings, configs or queries)

Define your config.json file

The path of the data sources in CSVW and YARRRML anotations have to be the same.

{
  "csvw":"PATH OR URL to CSVW annotations",
  "yarrrml": "PATH OR URL TO YARRRML+FnO Mapping"
}

Evaluation

Morph-CSV has ben tested over three use cases: BSBM, Madrid-GTFS-Bench and Bio2RDF project. You can get the resources used and the results obtained in the branch evaluation.

Publications:

  • David Chaves-Fraga, Edna Ruckhaus, Freddy Priyatna, Maria-Esther Vidal, Oscar Corcho: Enhancing Virtual Ontology Based Access over Tabular Data with Morph-CSV. Semantic Web Journal, 2021. Online
  • David Chaves-Fraga, Freddy Priyatna, Idafen Santana-Pérez and Oscar Corcho: Virtual Statistics Knowledge Graph Generation from CSV files. Emerging Topics in Semantic Technologies: ISWC2018 Satellite Events. Vol. 36. Studies on the Semantic Web. IOS Press,2018, pp. 235–244 Online Version
  • Oscar Corcho, Freddy Priyatna, David Chaves-Fraga: Towards a New Generation of Ontology Based Data Access. Semantic Web Journal, 2020. Online version
  • Ana Iglesias-Molina, David Chaves-Fraga, Freddy Priyatna, Oscar Corcho: Enhancing the Maintainability of the Bio2RDF project Using Declarative Mappings. 12th International Semantic Web Applications and Tools for Health Care and Life Sciences Conference, 2019. Online version
  • David Chaves-Fraga, Luis Pozo, Jhon Toledo, Edna Ruckhaus, Oscar Corcho: Morph-CSV: Virtual Knowledge Graph Access for Tabular Data. 19th International Semantic Web Conference P&D, 2020. Online

Authors and Contact

Ontology Engineering Group - Data Integration:

Acknowledgements

The development of Morph-CSV has been supported by the Spanish national project Datos 4.0

About

Enhancing virtual KG access over tabular data with RML and CSVW

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 7