Very cool you started Clojure in semweb :) I should have asked whether SHACL informed spec2/select as IIUC its all about defining different shapes of data (including closed world for sure) that can be drawn from the same (open world) OWL ontology for different specific use cases - a bit like how select will (I think) fix a shape suitable for e.g. a given function, whereas specs focus on the unchanging characteristics of attribute values in all use cases? (Hope I haven't mangled spec2 there!) I don't think it's novel - I mean it's a web standard ... Thought the specification of a data shape using SHACL as a graph itself was cool.
SHACL actually stands for "Shapes Constraint Language" which I hadn't realised :)