RMLio / rmlmapper-java

The RMLMapper executes RML rules to generate high quality Linked Data from multiple originally (semi-)structured data sources
http://rml.io
MIT License
146 stars 61 forks source link

rr:subjectMap should be optional #182

Closed bblfish closed 2 years ago

bblfish commented 2 years ago

In a mapping process the most important things to map are in order datatypes, then the relations then the types, then the instances. This is easy to see with CSV. Relations should be generated automatically as relative URLs if specified.

This is important for educational and pragmatic reasons.

  1. educational: we should argue that all CVS or SQL DB data is RDF already: it is just that relative URLs are being used for the relations, and no documentation is associated to that relation. Adding a URL there allows one to
    • specify that columns in two different data sets are speaking about the same thing
    • put documentation (html and RDF) at that URL location
  2. Knowing where the data is going to get published and so what full URLs for the instance data should be used, is often a decision made much later in the mapping process. A Blank node simplifies the mapping process there, and allows them to be introduced when the need is felt. Often a relative URL template would be the best.

The fact that the Turtle mapping files can be split is already a big advantage in allowing mappings tasks to be split across departments or time. The main otology mapping may be the job of the ontology engineer, and the data mapping of the web data engineer.

So to make it easier for larger processes to split the mapping processes between different departments and over time it would be best if the template were optional.

pheyvaer commented 2 years ago

Hi @bblfish,

This question is not specific for the RMLMapper, but is about RML in general. Can you ask it at https://github.com/kg-construct/rml-questions? Thanks!

bblfish commented 2 years ago

Note: what needed to be optional was rr:template. I explained it on the new issue I created on kg-construct