I don’t like creating a separate instance to control disjointedness as it’s not immediately visible in the relevant class form. The NodeShape being proposed has the same issue.
I usually use a pattern like this: unnamed:Thing_1 rdf:type owl:Class ; rdfs:subClassOf owl:Thing ; owl:disjointWith unnamed:Thing_2 ; owl:disjointWith unnamed:Thing_3 ; and then EDG owl2shacl does this: For each owl:disjointWith from class A to B, create one constraint at A with the pattern sh:not [ sh:class B ]. You could generate sh:not from the approach you mention too, of course. I did not test the mentioned approach but it does appear that it or something similar would work. Also, if Advanced SHACL is supported in your tools a TripleRule could likely handle this need. https://w3c.github.io/shacl/shacl-af/#TripleRule Cheers, David > On 31 Aug 2021, at 13:28, 'Bohms, H.M. (Michel)' via TopBraid Suite Users > <topbraid-users@googlegroups.com> wrote: > > (we were looking for an approach not needing rdfs-entailment) > > sml:AllDisjointClasses_1 > a owl:AllDisjointClasses ; > owl:members ( > sml:PhysicalObject > sml:InformationObject > sml:Activity > sml:Event > sml:State > ) ; > . > > In shacl (?): > > sml:DisjointClassesShape_1 a sh:NodeShape ; > sh:targetSubjectsOf rdf:type ; > sh:property [ > sh:path ( rdf:type [ sh:zeroOrMorePath rdfs:subClassOf ] ) ; > sh:qualifiedValueShape [ > sh:in ( > sml:PhysicalObject > sml:InformationObject > sml:State > sml:Event > sml:Activity > ) ; > ] ; > sh:qualifiedMaxCount 1 ; > ] ; > . > > Any issues with this mapping? > > Thx Michel > > > > Dr. ir. H.M. (Michel) Bohms > Scientist Specialist > Structural Reliability > T +31 (0)88 866 31 07 > M +31 (0)63 038 12 20 > E michel.bo...@tno.nl <mailto:michel.bo...@tno.nl> > Location <http://www.tno.nl/locations/DTS> > > > <image001.gif> <http://www.tno.nl/> > This message may contain information that is not intended for you. If you are > not the addressee or if this message was sent to you by mistake, you are > requested to inform the sender and delete the message. TNO accepts no > liability for the content of this e-mail, for the manner in which you use it > and for damage of any kind resulting from the risks inherent to the > electronic transmission of messages. > > > -- > 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 topbraid-users+unsubscr...@googlegroups.com > <mailto:topbraid-users+unsubscr...@googlegroups.com>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/topbraid-users/9eedba7e10534409ac1eec4e3d3704b1%40tno.nl > > <https://groups.google.com/d/msgid/topbraid-users/9eedba7e10534409ac1eec4e3d3704b1%40tno.nl?utm_medium=email&utm_source=footer>. UK +44 (0) 7788 561308 US +1 (336) 283-0808 -- 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 topbraid-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/642FE359-E3CF-4FF8-881E-26AC0C1D201B%40topquadrant.com.