The discussion of issue #28 led to the introduction of seq and subClass[Of] in the Community Vocabulary. As a useful flipside of subClass, is it appropriate to also introduce superClass[Of] into the Community Vocabulary?
Intuition: superClassOf shall be used to restrict the lower bound of the range / possibilities within a class/concept hierarchy, usually used together with subClassOf to restrict also the upper bound.
Alternative solution: use a logical NOT together with subClass and eq -- that's quite complicated, to be fair.
For example, assume we use the purpose hierarchy below (from DPV Purposes):
Purpose
|- CommercialPurpose
|- CommercialResearch
|- Personalisation
|- PersonalisedAdvertising
|- TargetedAdvertising
|- RecruitmentTargetedAdvertising
|- ResearchAndDevelopment
|- AcademicResearch
|- CommercialResearch
|- NonCommercialResearch
|- ScientificResearch
Case:
Any concept between Personalisation and TargetedAdvertising -- not including any other subconcepts of Personalisation, nor RecruitmentTargetedAdvertising (and its subconcepts)
odrl:constraint [
a odrl:LogicalConstraint ;
odrl:and (
[
odrl:leftOperand odrl:purpose ;
odrl:operator odrlCV:subClass ;
odrl:rightOperand dpv:Personalisation ;
]
[
odrl:leftOperand odrl:purpose ;
odrl:operator odrlCV:supClass ;
odrl:rightOperand dpv:TargetedAdvertising ;
]
)
]
Caveat: the "inclusion of the target concept" can be a tricky point, as that may block certain use cases. E.g. it's not easy to specify to allow ResearchAndDevelopment but not CommercialResearch. This applies to both subClass and superClass. I created #155 for this discussion.
The discussion of issue #28 led to the introduction of
seqandsubClass[Of]in the Community Vocabulary. As a useful flipside ofsubClass, is it appropriate to also introducesuperClass[Of]into the Community Vocabulary?Intuition:
superClassOfshall be used to restrict the lower bound of the range / possibilities within a class/concept hierarchy, usually used together withsubClassOfto restrict also the upper bound.For example, assume we use the purpose hierarchy below (from DPV Purposes):
Case:
Caveat: the "inclusion of the target concept" can be a tricky point, as that may block certain use cases. E.g. it's not easy to specify to allow ResearchAndDevelopment but not CommercialResearch. This applies to both subClass and superClass. I created #155 for this discussion.