Hi Tom,
what you describe is the usual design that we are promoting and
using at TopQuadrant: Keep ontology and instances separate, and
use implicit targets (i.e. classes that are also sh:NodeShape).
For validation to work best, we simply have the instance graphs
owl:import the schema graph(s), and use a Jena MultiUnion (or
OntModel) to provide a logically merged graph consisting of both
instances and classes. This means that the requires
rdfs:subClassOf triples will always be present and consistent.
Also the rdf:type triples of the classes/shapes, although those
are only really needed in the (logical) shapes graph.
So instead of copying any triples, have you considered running the validation over the union graphs? This should take care of things and completely avoid any need to do (RDFS) inferencing - the SHACL standard prescribes that engines will do a simple form of class inheritance automatically, regardless of the chosen inference regime.
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/b7011fd4-7920-4238-b931-9410a55fd723n%40googlegroups.com.