Linked.Archi ArchiMate 4.0 Element & Metamodel Shapes
SHACL shapes for validating ArchiMate 4.0 element instances and metamodel patterns. Adapted from 3.2 shapes for the domain-based structure of 4.0. Draft — needs validation against the ArchiMate 4.0 relationship validity matrix.
Linked.Archi
Every ArchiMate element instance must have at least one skos:prefLabel.
An element cannot compose itself.
SELECT $this WHERE { $this am4:composedOf $this . }
An element cannot aggregate itself.
SELECT $this WHERE { $this am4:aggregates $this . }
An element cannot specialize itself.
SELECT $this WHERE { $this am4:specializes $this . }
Specialization must connect elements of the same ArchiMate type.
SELECT $this ?target WHERE { $this am4:specializes ?target . $this rdf:type ?sourceType . ?target rdf:type ?targetType . ?sourceType rdfs:subClassOf* arch:Element . ?targetType rdfs:subClassOf* arch:Element . FILTER NOT EXISTS { $this rdf:type ?commonType . ?target rdf:type ?commonType . ?commonType rdfs:subClassOf* arch:Element . } }
accessType must be one of: Read, Write, ReadWrite, Access.
influenceStrength must be one of: +, ++, -, --.
Motivation elements cannot participate in triggering relationships.
SELECT $this WHERE { $this am4:triggers ?target . $this rdf:type/rdfs:subClassOf* am4:MotivationElement . }
Motivation elements cannot participate in flow relationships.
SELECT $this WHERE { $this am4:flowsTo ?target . $this rdf:type/rdfs:subClassOf* am4:MotivationElement . }