kg-construct / rml-io

RML-IO: Input/Output declarations for RML
https://w3id.org/rml/io/spec
Creative Commons Attribution 4.0 International
1 stars 4 forks source link

Inconsistency due to `rdfs:domain` of `rml:logicalTarget` and its use on `rml:LanguageMap` #61

Open pmaria opened 5 months ago

pmaria commented 5 months ago

The rdfs:domain of rml:logicalTarget is defined to be rml:TermMap, yet it is also used on rml:LanguageMap which is not a rml:TermMap.

Options:

andimou commented 5 months ago

couldn't we have another option to have the domain as rml:ExpressionMap?

pmaria commented 5 months ago

couldn't we have another option to have the domain as rml:ExpressionMap?

That would be too broad, since there are expression maps that do not directly cause the generation of a term (part), like rml:ChildMap and rml:ParentMap.

anaigmo commented 5 months ago

I agree with @pmaria in this, to have as domain the union of both instead of rml:ExpressionMap is more accurate. I'll add this and the other pending changes to the IO ontology this week

andimou commented 5 months ago

right and what about the DatatypeMap? I.e. why only the LanguageMap and not the DatatypeMap?

pmaria commented 5 months ago

Yes, good question. I think we can see DatatypeMap as a TermMap in the sense that it always generates an IRI. It definitely also generates a part of a literal term. I don't believe we currently classed it as a TermMap. So maybe we should raise an issue for this.

andimou commented 5 months ago

that's an interesting observation, 👍 on raising an issue for this.

I didn't exactly mean this though 😅 I meant a union of rml:TermMap, rml:LanguageMap and rml:DatatypeMap. If one can define a larget in the rml:LanguageMap, then it should be the same for a rml:DatatypeMap no?

pmaria commented 5 months ago

I agree, we should also be able to define a target on a rml:DatatypeMap if we are allowing a target on a rml:LanguageMap