Holger, Your final suggestion was the key! Who knew that we must declare owl:Class to be of type sh:NodeShape! I had a similar validation test for labelling all properties, and declaring rdf:Property as rdf:type sh:NodeShape fixed that one as well. Thank you so much for that subtle tip. If this is documented in the SHACL spec, I missed it. If it is not, I'll bet other people will bump into this problem.
Steve On Thu, Oct 21, 2021 at 6:18 PM Holger Knublauch <[email protected]> wrote: > Hi Steve, > > it SHOULD work, but TBC has two validation buttons and only the green one > includes the classes and properties: > > On 2021-10-22 8:09 am, Steve Ray wrote: > > I'm not understanding something about validating SHACL files. Normally I > successfully use shapes and SPARQLConstraints to validate rdf instance > files, but I'd also like to apply some constraints to our SHACL shape > definitions themselves. > > For example, I'd like to ensure all our declared classes/Nodeshapes have > an rdfs:label, so I wrote: > > owl:Class > sh:property [ > sh:path rdfs:label ; > sh:minCount 1 ; > ] ; > . > > On the above, please double-check that owl:Class rdf:type sh:NodeShape is > also asserted. > > Holger > > > I also tried > 1. Writing a SPARQLConstraint to do the same thing. > 2. Using the sh:targetClass method with an explicitly named shape. > 3. Using these with sh:NodeShape instead of owl:Class, since all my > classes are also instances of sh:NodeShape. > > None produced any validation errors when I ran the TBC validator on a > shapes file containing the definition of a class where I intentionally > omitted an rdfs:label value. > > I know that the SHACL spec even has the shsh:ShapeShape specification, so > I assume this kind of thing can be done. Is something blocking the > validation error from showing up? Is it because rdfs:label is an annotation > property? > > Steve > > > -- > You received this message because you are subscribed to the Google Groups > "TopBraid Suite Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/topbraid-users/CAGUep87sNoHp7PQaJq9bVsODsOL7OY1Q-%2B9LBDooJtC1tBWBCQ%40mail.gmail.com > <https://groups.google.com/d/msgid/topbraid-users/CAGUep87sNoHp7PQaJq9bVsODsOL7OY1Q-%2B9LBDooJtC1tBWBCQ%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > > -- > You received this message because you are subscribed to the Google Groups > "TopBraid Suite Users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/topbraid-users/e3dba027-2908-89d8-c930-7abf03361868%40topquadrant.com > <https://groups.google.com/d/msgid/topbraid-users/e3dba027-2908-89d8-c930-7abf03361868%40topquadrant.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "TopBraid Suite Users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/CAGUep851gHoMy%2BVCgYnTTSfXG54aoy16O9HxkH0j3BrsjtUFRA%40mail.gmail.com.
