Closed pmaria closed 2 years ago
I agree on defining rml:Strategy
class. However, as the strategies (Append, CartesianProduct) are a list of controlled values, does it make sense to use here skos? rml:Strategy
will be the skos:ConceptScheme and rml:Append
, rml:CartesianProduct
will be skos:Concept
The downside of using SKOS in this case is that it becomes less easy to extend the language to describe a strategy.
See e.g. rml:ReferenceFormulation
where we are now expanding the language to describe specific reference formulations in more detail, e.g. to declare namespaces in the XPath reference formulation.
I think we should keep the ability to extend these constants simple, so I would opt for using rdfs/owl classes and individuals.
+1 on @pmaria 's comment about extensibility and suggestion from both @anaigmo and @andimou.
If we use SKOS, then we expect that we always have a concept from this concept scheme. @anaigmo adds if we only have two concepts, it might not be worthwhile introducing a concenpt scheme,
(I know we discussed this with the community group and we concluded on using RML namespace everywhere but here we try to describe join strategies which is something beyond RML. I leave it as a comment for future discussions)
During the CG meeting (28/09/2022) we decided:
rml:strategy
open, but to specify where rml:strategy
can be used in SHACL.rml:Strategy
for the strategy individuals.Where will rml:strategy
be declared?
I have rewritten this section assuming that rml:Strategy
and rml:strategy
will be declared in RML.
should the individuals (of :Strategy
) :append
and :cartessianProduct
be declared in the core or in this module?
The individuals should be declared in this module.
In section 3.2.2
rml:strategy
the following domain and range are defined forrml:strategy
In general I think we should be cautious specifying the domain. In this case, I can imagine that other constructs may also have a need for specifying a strategy. I think it's best to leave domain open for this property.
The range is specified to be an IRI. This should be a class. I think it makes sense to define
rml:Strategy
as a class for the strategy constants.