kg-construct / rml-core

RML-Core: Main features for RDF generation with RML
https://w3id.org/rml/core/spec
Creative Commons Attribution 4.0 International
12 stars 9 forks source link

no section of default mapping generator in RML-core #33

Closed andimou closed 5 months ago

andimou commented 3 years ago

The R2RML spec includes the following paragraph for duplicates handling:

Duplicate row preservation: For tables without a primary key, the Direct Graph requires that a fresh blank node is created for each row. This ensures that duplicate rows in such tables are preserved. This requirement is relaxed for R2RML default mappings: They MAY reuse the same blank node for multiple duplicate rows. This behaviour does not preserve duplicate rows. R2RML default mapping generators that provide default mappings based on the Direct Graph MUST document whether the generated default mapping preserves duplicate rows or not.

This needs to be adjusted in the case of heterogeneous data

dachafra commented 2 years ago

But here is talking about handling duplicate rows in R2RML when subjectMap is a blank node, what does it need to be adjusted for heterogeneous data? (apart from generalizing the "row" concept)

andimou commented 2 years ago

given we don't have a primary key, what would the default behaviour be?

Would we expect to always check for duplicates? or would we generate a different blank node for each iteration and implementations may reuse the same blank node if they think there's a duplicate? if so, how should an engine indicate that provide such an option?

andimou commented 2 years ago

btw, I think this is an rml-core issue rather than an rml-fno issue

pmaria commented 2 years ago

This is about default mapping generation.

IMO the first question to answer here is: are we going to specify default mapping generation in RML?

andimou commented 1 year ago

so the conclusion about this issue after the call was that we allow Blank Nodes without an expression map and we do not clarify what happens if the subject map is referenced by a referencing object map.

If no objections come in this issue or raised during the call, this will be considered as closed.

pmaria commented 10 months ago

I think we still need to decide whether or not default mappings are a thing we want to maintain as part of RML.

Are there any current implementations of default mapping generators?

dachafra commented 10 months ago

@pmaria if you refer to this R2RML section (https://www.w3.org/TR/r2rml/#default-mappings), I'll remove it for RML. No current implementation of R2RMl or RML has default mapping generators. There were engines like MIRROR https://github.com/oeg-upm/MIRROR, but afaik they were deprecated

pmaria commented 10 months ago

Yes, that's what I'm referring too.

I also agree that we can remove this from the spec. If we all agree on this, this issue can be closed, since the issue is about default mapping generators.

dachafra commented 10 months ago

@bjdmeest @andimou @DylanVanAssche @chrdebru @frmichel do you agree with this proposal? i.e. no section of default mapping generator in RML-core?

chrdebru commented 10 months ago

I agree. There are other tools to access non-RDF as triples.

pmaria commented 9 months ago

We still need to update the spec. Let's keep this issue open until that is done.

dachafra commented 5 months ago

PR with the removal #133