-
Notifications
You must be signed in to change notification settings - Fork 9
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
base: main
Are you sure you want to change the base?
Conversation
|
||
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=]. |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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=]. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not MUST?
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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`) |
There was a problem hiding this comment.
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
There was a problem hiding this comment.
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.
There was a problem hiding this 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
Co-authored-by: elsdvlee <[email protected]>
Logical Iterable
as a more abstract concept thanLogical Source
that will be used for defining fields in rml-lv.