- 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