W3C home > Mailing lists > Public > public-rdf-shapes@w3.org > January 2018

Re: sh:in list of implied subclasses

From: Hans Teijgeler <hans.teijgeler@quicknet.nl>
Date: Wed, 10 Jan 2018 18:17:16 +0100
To: Irene Polikoff <irene@topquadrant.com>
Cc: public-rdf-shapes@w3.org, "PAAP, Onno" <onno.paap@gmail.com>
Message-ID: <4b604e48-2709-04b6-ad53-f082989584e0@quicknet.nl>
Hi Irene,

Thank you!!

Regards,

Hans

------------------------------------------------------------------------

On 10-1-2018 17:29, Irene Polikoff wrote:
> 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.
>
> 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 <mailto: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>
>



---
Deze e-mail is gecontroleerd op virussen door AVG.
http://www.avg.com
Received on Wednesday, 10 January 2018 17:18:32 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:02:52 UTC