Linked.Archi ArchiMate 4.0 Viewpoint Conformance Shapes
type: Ontology
imports: core#
imports: core-shapes#
license: http://creativecommons.org/licenses/by/4.0/
preferred namespace prefix: am4vpsh
creator: Kalin Maldzhanski
description: SHACL shapes for validating that architecture Views conform to their declared Viewpoints. Data-driven — reads viewpoint definitions from the loaded graph.
created: 2026-04-19
modified: 2026-04-29
publisher: Linked.Archi
publisher: linked.archi
status: draft
version IRI: 4.0#
version info: 4.0
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#

ViewDeclaresViewpointShape
type: NodeShape
target class: Diagram
severity: Warning
property:
  path: viewConformsToViewpoint
  min count: 1
  message: Every View should declare which Viewpoint it conforms to.

ViewElementConformanceShape
type: NodeShape
target class: Diagram
severity: Warning
sparql:
  prefixes: Linked.Archi ArchiMate 4.0 Viewpoint Conformance Shapes
  message: View contains an element type not allowed by its declared Viewpoint.
  select: SELECT $this ?element ?elementType WHERE { $this arch:viewConformsToViewpoint ?vp . $this arch:contains ?element . ?element rdf:type ?elementType . ?elementType rdfs:subClassOf* arch:Element . FILTER NOT EXISTS { ?vp arch:includesConcept ?elementType . } FILTER NOT EXISTS { ?vp arch:includesConcept ?parentType . ?elementType rdfs:subClassOf+ ?parentType . } }