Linked.Archi

Linked.Archi ArchiMate 3.2 Derivation Rules

SHACL Shapes

https://meta.linked.archi/archimate3/derivation#

v3.2 draft amderiv: Linked.Archi Modified: 2025-12-01 License

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.

Contents

CrossDomain_CoreToMotivation — target: CoreLayerElement

SPARQL constraint: Cross-domain restriction (B.4): derived relationship from Core to Motivation must be influence or association. Violation
            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))
            }
        

CrossDomain_ImplToMotivation — target: ImplementationAndMigrationLayerElement

SPARQL constraint: Cross-domain restriction (B.4): derived relationship from Implementation & Migration to Motivation must be assignment, realization, influence, or association. Violation
            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))
            }
        

CrossDomain_ImplToStrategy — target: ImplementationAndMigrationLayerElement

SPARQL constraint: Cross-domain restriction (B.4): derived relationship from Implementation & Migration to Strategy must be association or realization. Violation
            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))
            }
        

CrossDomain_MotivationOutward — target: MotivationElement

SPARQL constraint: Cross-domain restriction (B.4): derived relationship from Motivation to Core/Strategy must be association. Violation
            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)
            }
        

CrossDomain_StrategyToCore — target: StrategyLayerElement

SPARQL constraint: Cross-domain restriction (B.4): derived relationship from Strategy to Core must be association. Violation
            SELECT $this ?rel ?target WHERE {
                $this ?rel ?target .
                <<$this ?rel ?target>> :derivationCertainty ?cert .
                ?target rdf:type/rdfs:subClassOf* am:CoreLayerElement .
                FILTER(?rel != am:associatedWith)
            }
        

DR1_SpecializationTransitivity

DR2_StructuralChain — target: Element

DR3_StructuralDependency — target: Element

DR4_OpposingStructuralDependency — target: Element

DR5_StructuralDynamic — target: Element

DR6_StructuralFlowOpposite — target: Element

DR7_TriggeringStructural — target: Element

DR8_TriggeringTransitivity — target: Element

PDR10_FlowTransitivity

PDR11_TriggeringStructuralReverse

PDR12_GroupingDerivation — target: Grouping

PDR1_SpecializationForward

PDR2_SpecializationReverse

PDR3_SpecializationSourceInheritance

PDR4_SpecializationTargetInheritance

PDR5_StructuralDependencyAtSource — target: Element

PDR6_StructuralDependencyFromSource — target: Element

PDR7_DependencyChain — target: Element

PDR8_FlowStructural

PDR9_StructuralDynamicReverse — target: Element