Re: sh:in list of implied subclasses

Hans,

If your requirement is to make sure that at least one of subclasses of dm:Property is present in your data (no matter which one), then you can use sh:targetNode = dm:Property and constrain ^rdfs:subClassOf (sh:path = ^rdfs:subClassOf) with sh:minCount = 1. This ensures that dm:Property has at minimum one subclass without being specific about which one.

If your requirement is to make sure that one specific subclass of dm:Property is present in your data, then you can do the same as above (sh:path = ^rdfs:subClassOf), but use sh:hasValue = ex:RequiredClass. For an example, see https://www.w3.org/TR/shacl/#HasValueConstraintComponent <https://www.w3.org/TR/shacl/#HasValueConstraintComponent>. 

If you want to make sure that all 113 classes are present, then you can set minCount to 113. Of course, this would not give you an assurance that these are the “correct" 113 classes - just that there are 113 subclasses. If there is some common characteristic applicable to all these classes, then you could add it to the shape e.g., URI pattern or presence of value of some property, etc. This will strengthen the validation. Otherwise, you do have to list all 113 subclasses.


Regards,

Irene Polikoff


> On Jan 10, 2018, at 10:46 AM, Hans Teijgeler <hans.teijgeler@quicknet.nl> wrote:
> 
> Hi,
> 
> We try to implement SHACL and did run into a problem.
> 
> We need something like sh:in ( dm:Property ) to say that one of the 113 subclasses of dm:Property (see attached) shall be present.
> 
> Similarly sh:in ( lci:FunctionalObject ) to say that one of the 1064 subclasses of lci:FunctionalObject (see also attached) shall be present.
> 
> Of course we could construct a "list of values" of 1064, but it seems to me that a more intelligent (and maintainable) solution should be possible.
> 
> Could anyone please shed some light on that?
> 
> Regards,
> Hans
> 15926.org <http://15926.org/>
> 
>  <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> Virusvrij. www.avg.com <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> <x-msg://122/#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2><ClassOfFunctionalObject.xlsm><instances-of-SinglePropertyDimension.txt>

Received on Wednesday, 10 January 2018 16:34:30 UTC