SHACL Shapes
https://meta.linked.archi/archimate3/derivation#
SHACL Rules (sh:SPARQLRule) implementing ArchiMate derivation rules DR1-DR8 (valid) and PDR1-PDR12 (potential) from the ArchiMate 3.2 specification Appendix B. Derived relationships are annotated with confidence level via a custom property and provenance via PROV-O (prov:wasGeneratedBy, prov:wasDerivedFrom), using RDF 1.2 reification.
SELECT $this ?rel ?target WHERE {
$this ?rel ?target .
<<$this ?rel ?target>> :derivationCertainty ?cert .
?target rdf:type/rdfs:subClassOf* am:MotivationElement .
FILTER(?rel NOT IN (am:influences, am:associatedWith))
}
SELECT $this ?rel ?target WHERE {
$this ?rel ?target .
<<$this ?rel ?target>> :derivationCertainty ?cert .
?target rdf:type/rdfs:subClassOf* am:MotivationElement .
FILTER(?rel NOT IN (am:assignedTo, am:realizes, am:influences, am:associatedWith))
}
SELECT $this ?rel ?target WHERE {
$this ?rel ?target .
<<$this ?rel ?target>> :derivationCertainty ?cert .
?target rdf:type/rdfs:subClassOf* am:StrategyLayerElement .
FILTER(?rel NOT IN (am:associatedWith, am:realizes))
}
SELECT $this ?rel ?target WHERE {
$this ?rel ?target .
<<$this ?rel ?target>> :derivationCertainty ?cert .
{
?target rdf:type/rdfs:subClassOf* am:CoreLayerElement .
} UNION {
?target rdf:type/rdfs:subClassOf* am:StrategyLayerElement .
}
FILTER(?rel != am:associatedWith)
}
SELECT $this ?rel ?target WHERE {
$this ?rel ?target .
<<$this ?rel ?target>> :derivationCertainty ?cert .
?target rdf:type/rdfs:subClassOf* am:CoreLayerElement .
FILTER(?rel != am:associatedWith)
}