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

clarify in the spec that BN are allowed without reference to data #52

Open pmaria opened 2 years ago

pmaria commented 2 years ago

In Section 4.1 Identifying collections is stated:

If no rr:template or rml:reference is provided for generating blank node IDs (rr:BlankNode) or IRIs (rr:IRI), then each iteration generates a new blank node identifier for the collection or container.

I think there is a general issue that we need to decide on here which is: Do we allow the generation of blank nodes without an explicit expression (rr:template, rml:reference, or other)?

Generating a random blank node id has impact on how you can implement joins on those terms, because there is no way to make the id generation repeatable. The R2RML spec does not allow blank node generation without an rr:template or rr:column, I assume for this reason.

So if we would want to allow this we would either have to:

andimou commented 2 years ago

let's discuss this on a call, it's a difficult one

dachafra commented 2 years ago

During the meeting (28/09/2022), we have decided to allow the generation of BN without reference to the data.

Does this issue have any impact on collections/containers spec then? @chrdebru @frmichel If yes, we will leave it open. If not, we can close or transfer it to the core spec

frmichel commented 2 years ago

During the meeting (28/09/2022), we have decided to allow the generation of BN without reference to the data.

The way we've written the container/collections specification is in line with this assumption, that is, the generation of a new blank node (that therefore cannot be named anywhere else) when there is no rml:reference of rr:template.

I'm closing this issue.

dachafra commented 2 years ago

I'll open it again and transfer to the core spec

andimou commented 1 year ago

There was a clarification added for this issue in this commit 552a485353a9c3eb0e45f3025c22d53e7c01e312

andimou commented 1 year ago

There are still objections: should we include a clarification that it should be distinct?

Enrique and Davide are in favor of keeping it distinct.

@DylanVanAssche suggests to mention that it should be distinct but optionally can do it without guaranting it will be distinct but then they need a template.

dachafra commented 5 months ago

There was a clarification added for this issue in this commit 552a485

@andimou I inspected the commit but didn't find any clarification about BN generation without data reference. Am I missing something?