Closed rjyounes closed 6 years ago
This is similar to matching a sh:targetClass in one form to a sh:class in a Nested form, but in this case we want a choice of typing in the nested form. Perhaps a better way would be to have sh:targetClass arm:Marking and sh:class arm:Marking asserted, but keep the rdf:type PropertyShape in the nested form. I don't believe we can just rely on subclass assertions for arm:Marking because there are cases (e.g. Notes) when we might not want all subclasses to appear as options.
Yes, I agree, we need to specify rdf:type options for specific forms.
In raremat_monograph_form.ttl, you specify the possible types of the arm:markedBy predicate in two ways, on the PropertyShape ItemForm_arm_markedBy:
raremat_monograph_form:ItemForm_arm_markedBy sh:path arm:markedBy ; sh:or (
and also on the values of the MarkingForm_rdf_type PropertyShape:
raremat_monograph_form:MarkingForm_rdf_type sh:path rdf:type ; sh:order "0"^^xsd:decimal ; sh:description "Marking type" ; sh:name "Marking type" ; sh:in ( arm:Marking arm:Autograph arm:BindersTicket arm:Label arm:Seal arm:Stamp arm:Watermark ) .
Are these specifications redundant, or do they mean different things? If redundant, which is preferred? If not redundant, what is the difference? I'd like to follow the right model in my PropertyShapes.