MIN Validation (SHACL Shapes)

MIN provides two SHACL shape files for validation.

Core shapes (shapes/min-core.shacl.ttl)

Validates the ontology structure of min.ttl itself:

Shape Validates
OntologyMetadataShape Ontology IRI has versionIRI, versionInfo, title, description, creator, created, license
ClassLabelShape All 14 domain classes + 4 enum classes have rdfs:label
PolaritySuperPropertyShape Polarity super-properties have labels
ObjectPropertyDomainRangeShape All 58 object properties have rdfs:range

Instance shapes (shapes/min-instance.shacl.ttl)

Validates domain instance data that imports min.ttl:

Shape Target class Constraint
EntityInstanceShape min:Entity hasIdentifier min 1 (Violation), hasName min 1 (Warning)
ProcessInstanceShape min:Process hasInput min 1, hasOutput min 1
AgentInstanceShape min:Agent performs min 1
BoundaryInstanceShape min:Boundary bounds min 2
EpistemicumInstanceShape min:Epistemicum about min 1, hasEpistemicStatus exactly 1, hasConfidence in [0,1], supportedBy/underminedBy class Nexus
ConfidenceRequiresTypeShape min:Epistemicum SPARQL rule: hasConfidence requires hasConfidenceType

Running validation

uv run ontology-validate

Or manually with pyshacl:

pyshacl -s shapes/min-core.shacl.ttl -df turtle min.ttl
pyshacl -s shapes/min-instance.shacl.ttl -df turtle examples/dpp-coil.ttl