It is all described in the spec. See SHACL Subclass, SHACL superclass, SHACL 
Types and SHACL Class Instance.

SHACL engines are required to perform one type of RDFS inferencing.

?x a C1.
C1 rdfs:subClassOf+ C2.

 |
V

?x a C2

Meaning that any shape specified targeting instances of C2, applies to ?x

And if you have a constraint sh:class C2, ?x is a valid value.

As for entailments, I am not aware of any SHACL implementations that support 
entailment regimes.

> On Apr 15, 2020, at 3:03 PM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
> <topbraid-users@googlegroups.com> wrote:
> 
>  
> Thx
>  
> One of the profiles we use for our cen standard smls is (RDFS+SHACL)
> So in a sense if equivalence is relevant here we already model with “2 x 
> rdfs:subClassOf”.
>  
> Wrt par. 1.5: guess it is ok to assume rdfs-entailment for most shacl 
> processors (so that my shacl af rule for doing the same is obsolete/already 
> taken care of). Would only be relevant when RDFS-entailment is “OFF”.
>  
> The sentence:
> “SHACL uses the RDF and RDFS vocabularies, but full RDFS inferencing is not 
> required.”
>  
> Is a bit unclear: full RDFS inf. is not required does that mean that some 
> limited form IS required? Or can there be no rdfs-entailm. at all? And what 
> is “full”/”limited”? Etc.
>  
> I am unsure whether my scenarios for CHECKING (not inferencing) the 
> rdfs:subClassOf relations  could be relevant
>  
> Thx for this whole rdfs/shacl discussion, I learned a lot,
> Michel
>  
>  
> Dr. ir. H.M. (Michel) Böhms
> Senior Data Scientist
> 
> T +31888663107
> M +31630381220
> E michel.bo...@tno.nl <mailto:michel.bo...@tno.nl>    
> Location 
> <https://www.google.com/maps/place/TNO+-+Locatie+Delft+-+Stieltjesweg/@52.000788,4.3745183,17z/data=!3m1!4b1!4m5!3m4!1s0x47c5b58c52869997:0x56681566be3b8c88!8m2!3d52.000788!4d4.376707>
> 
>  
> <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.
>  
>  
>  
>  
> Van: topbraid-users@googlegroups.com <mailto:topbraid-users@googlegroups.com> 
> <topbraid-users@googlegroups.com <mailto:topbraid-users@googlegroups.com>> 
> Namens Irene Polikoff
> Verzonden: Wednesday, April 15, 2020 3:16 PM
> Aan: topbraid-users@googlegroups.com <mailto:topbraid-users@googlegroups.com>
> Onderwerp: Re: [topbraid-users] equivalence in shacl
>  
> Michel,
>  
> I do not advise removing subclass statements. SHACL uses them as described 
> here https://www.w3.org/TR/shacl/#terminology 
> <https://www.w3.org/TR/shacl/#terminology>, see SHACL subclass.
>  
> If you want owl:equivalentClass to be understood by a SHACL engine as 2 
> subClassOf statements, they need to be translated as 2 subClassOf statements 
> prior to providing data for SHACL validation.
>  
> How this translation is accomplished is up to you.
> 
> Sent from my iPhone
> 
> On Apr 15, 2020, at 8:11 AM, 'Bohms, H.M. (Michel)' via TopBraid Suite Users 
> <topbraid-users@googlegroups.com <mailto:topbraid-users@googlegroups.com>> 
> wrote:
> 
> Oeps I made mistake in order, right below:
>  
>  
> Hi Irene, David
>  
> Thx, I had been reading this example about 10 times to understand (indeed 
> allvaluesfrom being “at least” not “only” ).
>  
> Another thing I have been chewing on: the simple case and especially the 
> remarks by David wrt RDFS-entailment.
>  
>  
> My original (very) simple case was: I have two ontologies with different name 
> space and I want to relate concepts from one to the other saying that they 
> are the same. In owl I use owl:equivalentClass and the question was  how best 
> in shacl.
>  
> I like your split in three cases:
> 1. Inference like in owl now in shacl (like triple construct)
> 2. Checking the OWL Restriction in owl meaning (although always compromised 
> by CWA nature as you indicated
> 3. Stronger checking that might be better reflect what you want in CWA 
> fashion: ie allvaluesfrom: “at least” becomes “only”)
>  
> I am a bit in doubt about option 2, it always seems compromised (?) and 
> chances are that you actually want 3. So I most like the split in choice 1 
> and 3.
>  
> Now about the simple case.
>  
> ex1:ClassX owl:equivalentClass ex2:ClassY (so no restrictions involved)
>  
> Or even simpler:
>  
> ex:ClassX owl:equivalentClass ex:ClassY
>  
> Or even simpler:
>  
> ex:ClassX rdfs:subClassOf ex:ClassY AND
> ex:ClassY rdfs:subClassOf ex:ClassX
>  
> Let’s focus on the first only:
>  
> ex:ClassX rdfs:subClassOf ex:ClassY
>  
>  
> Is it true that I could apply your three options here too? (even now that no 
> restrictions apply) like:
>  
> Option 1: Inference
>  
> 1a: do nothing in shacl, assume a priori RDFS-entailment
>  
> 1b: In SHACL AF: tripleconstruct self/rdf:type/ClassY
>  
> Option 2: SHACL SHAPE: sh:property (path rdf:type, sh:in (ex:ClassY, ...... 
> fixed list, maybe all classes in ont)
>  
> Option 3: SHACL SHAPE: sh:property (path rdf:type, sh:hasValue ex:ClassY)
>  
>  
> Do I understand the mails between you and David right that they were about 
> option 1a or 1b?
> (David: a, you: b)
>  
> In case of option 1b, 2 and 3: could you then actually delete the 
> rdfs:subClassOf clauses in your shacl code (leaving only rdfs class 
> definitions? Well ...assuming there are similar decisions for 
> rdfs:subPropertyOf). Or is the pure owa treatment/inference with of 
> rdfs:subClassOf always a reason to leave it in anyway?
>  
>  
> Or....am I talking complete nonsense now 😊
>  
> Thx a lot, Michel
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
>  
> Dr. ir. H.M. (Michel) Böhms
> Senior Data Scientist
> 
> T +31888663107
> M +31630381220
> E michel.bo...@tno.nl <mailto:michel.bo...@tno.nl>    
> Location 
> <https://www.google.com/maps/place/TNO+-+Locatie+Delft+-+Stieltjesweg/@52.000788,4.3745183,17z/data=!3m1!4b1!4m5!3m4!1s0x47c5b58c52869997:0x56681566be3b8c88!8m2!3d52.000788!4d4.376707>
> 
>  
> <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.
>  
>  
>  
>  
> Van: topbraid-users@googlegroups.com <mailto:topbraid-users@googlegroups.com> 
> <topbraid-users@googlegroups.com <mailto:topbraid-users@googlegroups.com>> 
> Namens Irene Polikoff
> Verzonden: Wednesday, April 15, 2020 6:51 AM
> Aan: topbraid-users@googlegroups.com <mailto:topbraid-users@googlegroups.com>
> Onderwerp: Re: [topbraid-users] equivalence in shacl
>  
> Actually, I have to correct myself. Because of OWA, you would not get this 
> inference since there is no way to know that all values come from the class 
> person.
>  
> So, I don’t really know under what circumstances one would use this type of 
> restriction.
>  
> 
> On Apr 14, 2020, at 10:43 AM, Irene Polikoff <ir...@topquadrant.com 
> <mailto:ir...@topquadrant.com>> wrote:
>  
> Let’s say your data is just:
>  
> ex:Alice ex:parent ex:Bob.
> ex:Bob a ex:Person.
>  
> Now, with OWL we would get an inference {ex:Alice a ex:Person}.
>  
> To get this inference in SHACL, you would need something like:
>  
> ex:PersonRulesShape a sh:NodeShape ;
> sh:targetSubjectOf ex:parent ;
> sh:rule [
>   a sh:TripleRule ;
>   sh:subject sh:this ;
>   sh:predicate rdf:type ; 
>   sh:object ex:Person ;
>   ] ;
>   sh:condition ex:HasPersonParentShape. # Rule only applies to subjects of a 
> triple where objects are persons
>  
> -- 
> 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/1C55ABD7-96C4-4797-B34C-E4D62D7E2796%40topquadrant.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/1C55ABD7-96C4-4797-B34C-E4D62D7E2796%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 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/0b356c65369349c5a9ddd2d3e0506226%40tno.nl
>  
> <https://groups.google.com/d/msgid/topbraid-users/0b356c65369349c5a9ddd2d3e0506226%40tno.nl?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 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/6a785a0e258d4073ae6e86f84a755b8d%40tno.nl
>  
> <https://groups.google.com/d/msgid/topbraid-users/6a785a0e258d4073ae6e86f84a755b8d%40tno.nl?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 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/10778D05-3066-4EC7-AEAE-753CC6836D3C%40topquadrant.com
>  
> <https://groups.google.com/d/msgid/topbraid-users/10778D05-3066-4EC7-AEAE-753CC6836D3C%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 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/34d529f9e9d6450e95e036cea94c344e%40tno.nl
>  
> <https://groups.google.com/d/msgid/topbraid-users/34d529f9e9d6450e95e036cea94c344e%40tno.nl?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 topbraid-users+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/topbraid-users/9D4EEEC5-FFBF-4E9B-BEDC-C9504EE2EDAA%40topquadrant.com.

Reply via email to