I believe that is what https://www.w3.org/TR/shacl/#ClosedConstraintComponent is meant to address.
--
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-user...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/topbraid-users/29d5ec0c-86c2-41df-ac25-a01e4ada1a68%40googlegroups.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-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/9732c811-3df0-4153-b067-7691083aef5b%40googlegroups.com.
To make sure that all triples in a data graph conform to at least
one shape, I think you will need to go outside of SHACL Core and
either use SHACL-SPARQL or SHACL custom targets (part of SHACL-AF
[1]). In particular, assuming you have a number of shapes, and all
of them are sh:closed true, then you could try (untested):
ex:GraphClosureShape
sh:target [
sh:SPARQLTarget ;
sh:select "SELECT DISTINCT ?this { ?this ?p ?o }" ;
] ;
sh:or ( ex:Shape1 ex:Shape2 ex:Shape3 )
.
Basically this would iterate over all subjects in the graph and check that they conform to at least one of the enumerated node shapes. If all of them are sh:closed then they cannot legally have any other triples.
Note that this only traverses triples in the "forward" direction, and it would be more complicating if you have closed shapes that also use sh:path expressions to walk in an inverse direction...
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-user...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/topbraid-users/29d5ec0c-86c2-41df-ac25-a01e4ada1a68%40googlegroups.com.