Hi all,
Goal: Given a ontology asset collection X, I'd like to have an ontology asset collection Y which imports X and infers closed statements for every NodeShape in X. If I add a new shape in X, I'd like the corresponding closed version of it to be inferred in the Y collection.
Background
I've got a number of shapes graphs defined. The most general set of shapes is the ontology itself; it describes how things may connect. The next set of shapes, based on the prior ones, further describes how resources shall connect based upon some context. In this set, there are often hard min and max counts, etc. Finally, I have a set of shapes that are based on the immediately prior ones and now they are closed. Because I am typing my owl:Classes with a sh:NodeShape, each shape definition is building on each other. The last collection, the closed shapes, simply assert a sh:closed true for every node shape in question, nothing else. Each tier of these shapes, so to speak, exists in their own ontology asset collection.
I'd like to automate the construction of the closed shapes graph. It is simple describe the closed shapes with a SPARQL construct query or similar. I'm also certain that there are probably many ways to accomplish this in EDG. The question is, what is preferred?
TIA,
Adam