RML (https://rml.io/specs/rml/) is a mapping language to map data from various data sources (CSV, JSON, RDBMS, …) to RDF. It extends R2RML (https://www.w3.org/TR/r2rml/) which only supports RDBMS sources.
This project is about:
- Developing a tool to automatically create RML files given a data source
- Evaluating the quality of the produced RML files on downstream tasks, such as question answering, knowledge graph entity linking, etc.
This project is not about:
- Creating a tool to convert data given a RML file. For this, there already exist a number of popular tools, such as
Challenges:
- Coming up with a semantically meaningful schema for the RDF data is difficult; possible approaches could be
- use LLMs or other world models to construct the RML
- combine the above with a human-in-the-loop approach
- combine the above with a RL approach
- We do not want to just convert the input data source trivially to RDF, e.g. for a CSV file one could
- convert each row to <row_i> <type> <Row>
- and each column in that row to <row_i> <col_name> <col_value>
Relational data:
Persons
| Id |
Name |
| 1 |
Jens |
| 2 |
Hannah |
| 3 |
Surbhi |
Movies
| Id |
Title |
| 1 |
Hangover |
| 2 |
Avatar |
Actor
Bad RDF: