Constraints of a SKOS model, applied to a different model

Hi all,

I am working on a SKOS model which I am relating to a different model.
Example.

SKOS MODEL:
ex:topic1 a skos:Concept.
ex:topic1-1 a skos:Concept; skos:broader ex:topic1.
ex:topic1-2 a skos:Concept; skos:broader ex:topic1.

RELATED MODEL:
(a) ex:dataitem1 a exvoc:dataitem; exvoc:role "role1"; exvoc:relatedTo
ex:topic1-1.
(b) ex:dataitem1 a exvoc:dataitem; exvoc:role "role1"; exvoc:relatedTo
ex:topic1.

The data items in the related model have a relation to the SKOS model as
shown above. I now want to express in the Skos model the following
constraint: an instance of exvoc:dataitem that has the role "role1" MUST
have a statement with exvoc:relatedTo pointing to a child concept of
ex:topic 1. That is, statement (a) would be correct, statement (b) would
not  be correct.

I could formulate that constraint in the related model itself; but in my
workflow, the governance over the two models would require to formulate
that constraint within the skos model.

A non SHACL formulation of the constraint could look like this:

ex:topic1 a skos:Concept; excvoc:scope [exvoc: targetRole "role1";
exvoc:occurence "oneOrMore";]

This would mean: the constraint should be applied to dataitems with role
"role1", and at least one sub concept of ex:topic1 needs to be available
for such data items.

The above is a proprietary approach. Whjat would be an example to model
such a constraint in SHACL?

Regards,

Felix

Received on Thursday, 11 July 2019 14:05:20 UTC