Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add logical iterable and describe natural mappings #144

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

pmaria
Copy link
Collaborator

@pmaria pmaria commented Nov 20, 2024


The <dfn>natural RDF literal</dfn> is a [=literal=] that is the result of applying a [=natural mapping=] on a value of a [=data source=], which produces a [=literal=] that is the most appropriate representation of the value in RDF. The [=natural RDF literal=] has a [=natural RDF lexical form=].

The <dfn>natural RDF lexical form</dfn> produces only the [=lexical form=] of the [=literal=] and recommends that implementations SHOULD apply the [=XSD canonical mapping=], making it a [=canonical RDF lexical form=]. It is used in RML when non-string [=expression evaluation results=] are used in a string context, for example when a timestamp is used in an [=template-valued term map=] with [=term type=] [=IRI=].
Copy link
Collaborator

@elsdvlee elsdvlee Nov 25, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why does it recommend to apply the XSD canonical mapping?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This follows how it is defined in R2RML. Something to discuss in the next meeting perhaps?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I have the feeling the phrasing is a bit off, I'd suggest "The natural RDF lexical form is the [=lexical form=] of the [=literal=]. Implementations SHOULD apply the [=XSD canonical mapping=], making it a [=canonical RDF lexical form=]."

* a [=subject map=] (`rml:SubjectMap`)
is a rule that MUST generate either an [=IRI=] or a [=blank node=];
* a [=predicate map=] (`rml:PredicateMap`)
is a rule that MUST generate an [=IRI=];
* an [=object map=] (`rml:ObjectMap`)
is a rule that MUST generate an [=IRI=], a [=blank node=] or a [=literal=];
* a [=graph map=] (`rml:GraphMap`)
is a rule that should generate an [=IRI=].
is a rule that SHOULD generate an [=IRI=].
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not MUST?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good question. I am not sure why this is a SHOULD. R2RML seems to require that a graph map always produces an IRI. However, there is no such requirement in RDF (https://www.w3.org/TR/rdf12-concepts/#dfn-graph-name).
Also something to discuss perhaps. I will raise an issue for this one.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Issue raised: #146

@@ -21,15 +21,15 @@ if it is a rule that specifies how the [=RDF triple=]'s object is generated; and
* a [=graph map=] (`rml:GraphMap`),
if it is a rule that specifies how the [=RDF triple=]'s [=named graph=] is generated.

A [=term map=] generates different RDF terms depending on the position of the [=term map=] in the [=RDF triple=]:
A [=term map=] generates different types of [=RDF terms=] depending on the position of the [=term map=] in the [=RDF triple=]:
* a [=subject map=] (`rml:SubjectMap`)
is a rule that MUST generate either an [=IRI=] or a [=blank node=];
* a [=predicate map=] (`rml:PredicateMap`)
is a rule that MUST generate an [=IRI=];
* an [=object map=] (`rml:ObjectMap`)
is a rule that MUST generate an [=IRI=], a [=blank node=] or a [=literal=];
* a [=graph map=] (`rml:GraphMap`)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

graph maps are not 'defined', the reference doesn't work

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Indeed. The graph maps section still needs to be written.

Copy link
Collaborator

@elsdvlee elsdvlee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very minor questions and suggestions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Section 6.6.1 Automatically deriving datatypes is underspecified
3 participants