I see your point. Using sh:class still worked with the superclass (c223:InletPoint).
Here is my working shape (this time for an InletPoint, which has a subClassOf AirInletPoint): b20:InletPressureShape rdf:type sh:PropertyShape ; sh:path c223:hasInletPressure ; sh:name "Inlet Pressure Shape" ; sh:values [ sh:path c223:hasValue ; sh:nodes [ sh:filterShape [ sh:property [ sh:path qudt:hasQuantityKind ; sh:hasValue qudtqk:Pressure ; ] ; ] ; sh:nodes [ sh:path c223:hasProperty ; sh:nodes [ sh:filterShape [ sh:class c223:InletPoint ; ] ; sh:nodes [ sh:path c223:hasConnectionPoint ; ] ; ] ; ] ; ] ; ] ; . I do find that I still need to run the SHACL reasoner before the c223:hasInletPressure relation returns a result in the query below, but I don't need to run the OWL RL rules. *SELECT* * *WHERE* { ?s c223:hasInletPressure ?press . } Steve On Fri, Dec 11, 2020 at 4:29 PM Holger Knublauch <hol...@topquadrant.com> wrote: > On 2020-12-12 3:59 am, Steve Ray wrote: > > > Holger, > > Your example is tremendously helpful! Thanks so much. I can see how > > the sh:filterShape and sh:nodes statements always come in pairs, and > > that the outermost sh:path (inside the sh:values) needs an sh:nodes to > > operate on. These are all things that I wasn't sure about. > > > > I will use this approach in the future. In our work, we are going to > > be assuming OWL RL reasoning, so the embedded sh:class > > ex:AirOutletPoint should even work with a superClass, as in my > > original example. I understand that if I don't run the OWL RL reasoner > > first, then I would need to fall back to the SPARQL query approach if > > I want to query against the superclass of AirOutletPoint. > > Just to be extra clear: sh:values expressions will not automatically use > other types of reasoning such as OWL RL. Those triples would need to be > asserted. However, operators such as sh:class will automatically walk > up/down the rdfs:subClassOf hierarchy and thus have some kind of simple > reasoning built in. > > Holger > > > -- > 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/b7b27a50-4c20-12d6-8981-2dbb533c0d08%40topquadrant.com > . > -- 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/CAGUep879gDbYVpkziuqSt59%2BzXQP8ec1Q2xidwd%3D7D17S-v1Dg%40mail.gmail.com.