Linked.Archi ArchiMate 4.0 Derivation Rules
type: Ontology
imports: core#
imports: 4.0#
license: http://creativecommons.org/licenses/by/4.0/
preferred namespace prefix: am4deriv
creator: Kalin Maldzhanski
description: SHACL Rules (sh:SPARQLRule) implementing ArchiMate 4.0 derivation rules. Derived relationships are annotated with confidence level and provenance. Draft — the full derivation matrix needs validation against the ArchiMate 4.0 spec.
created: 2026-04-19
modified: 2026-04-29
publisher: Linked.Archi
publisher: linked.archi
status: draft
version IRI: 4.0#
version info: 4.0
source: archimate4-doc
declare:
  prefix: am4
  namespace: https://meta.linked.archi/archimate4/onto#
declare:
  prefix: arch
  namespace: https://meta.linked.archi/core#
declare:
  prefix: rdf
  namespace: http://www.w3.org/1999/02/22-rdf-syntax-ns#
declare:
  prefix: rdfs
  namespace: http://www.w3.org/2000/01/rdf-schema#
declare:
  namespace: Linked.Archi ArchiMate 4.0 Derivation Rules

DR1: Composition chain
type: NodeShape
target subjects of: composedOf
rule: SPARQLRule
  prefixes: Linked.Archi ArchiMate 4.0 Derivation Rules
  construct: CONSTRUCT { $this am4:composedOf ?c . } WHERE { $this am4:composedOf ?b . ?b am4:composedOf ?c . FILTER NOT EXISTS { $this am4:composedOf ?c . } }
definition: If A is composed of B and B is composed of C, then A is composed of C.

DR2: Aggregation chain
type: NodeShape
target subjects of: aggregates
rule: SPARQLRule
  prefixes: Linked.Archi ArchiMate 4.0 Derivation Rules
  construct: CONSTRUCT { $this am4:aggregates ?c . } WHERE { $this am4:aggregates ?b . ?b am4:aggregates ?c . FILTER NOT EXISTS { $this am4:aggregates ?c . } }
definition: If A aggregates B and B aggregates C, then A aggregates C.

DR3: Assignment + Serving → Serving
type: NodeShape
target subjects of: assignedTo
rule: SPARQLRule
  prefixes: Linked.Archi ArchiMate 4.0 Derivation Rules
  construct: CONSTRUCT { $this am4:serves ?c . } WHERE { $this am4:assignedTo ?b . ?b am4:serves ?c . FILTER NOT EXISTS { $this am4:serves ?c . } }
definition: If A is assigned to B and B serves C, then A serves C.

DR4: Realization chain
type: NodeShape
target subjects of: realizes
rule: SPARQLRule
  prefixes: Linked.Archi ArchiMate 4.0 Derivation Rules
  construct: CONSTRUCT { $this am4:realizes ?c . } WHERE { $this am4:realizes ?b . ?b am4:realizes ?c . FILTER NOT EXISTS { $this am4:realizes ?c . } }
definition: If A realizes B and B realizes C, then A realizes C.