Linked.Archi UAF SHACL Shapes
type: Ontology
imports: onto#
imports: core-shapes#
license: http://creativecommons.org/licenses/by/4.0/
preferred namespace prefix: uafsh
creator: Kalin Maldzhanski
description: SHACL shapes for validating UAF 1.2 model data. Imports core-shapes for base QualifiedRelationship validation. Adds UAF-specific domain/range constraints per relationship type. This is not an official OMG document.
created: 2025-12-01
modified: 2026-02-01
publisher: Linked.Archi
publisher: linked.archi
status: draft
version IRI: 1.2#
version info: 1.2
source: https://www.omg.org/spec/UAF/1.2/

ExhibitsShape
type: NodeShape
target class: Exhibits
property:
  path: source
  or:
    class: OperationalPerformer
  or:
    class: ResourcePerformer
  message: Exhibits source must be an OperationalPerformer or ResourcePerformer.
property:
  path: target
  class: Capability
  message: Exhibits target must be a Capability.

PerformsShape
type: NodeShape
target class: Performs
property:
  path: source
  or:
    class: OperationalPerformer
  or:
    class: ResourcePerformer
  message: Performs source must be an OperationalPerformer or ResourcePerformer.
property:
  path: target
  or:
    class: OperationalActivity
  or:
    class: Function
  message: Performs target must be an OperationalActivity or Function.

ImplementsShape
type: NodeShape
target class: Implements
property:
  path: source
  class: ResourcePerformer
  message: Implements source must be a ResourcePerformer.
property:
  path: target
  class: Service
  message: Implements target must be a Service.

RealizesShape
type: NodeShape
target class: Realizes
property:
  path: source
  or:
    class: ResourcePerformer
  or:
    class: Function
  message: Realizes source must be a ResourcePerformer or Function.
property:
  path: target
  or:
    class: OperationalPerformer
  or:
    class: OperationalActivity
  message: Realizes target must be an OperationalPerformer or OperationalActivity.

CapabilityDependencyShape
type: NodeShape
target class: CapabilityDependency
property:
  path: source
  class: Capability
  message: CapabilityDependency source must be a Capability.
property:
  path: target
  class: Capability
  message: CapabilityDependency target must be a Capability.

ProvidesShape
type: NodeShape
target class: Provides
property:
  path: source
  or:
    class: OperationalPerformer
  or:
    class: ResourcePerformer
  message: Provides source must be an OperationalPerformer or ResourcePerformer.
property:
  path: target
  class: Service
  message: Provides target must be a Service.

ConsumesShape
type: NodeShape
target class: Consumes
property:
  path: source
  or:
    class: OperationalPerformer
  or:
    class: ResourcePerformer
  message: Consumes source must be an OperationalPerformer or ResourcePerformer.
property:
  path: target
  class: Service
  message: Consumes target must be a Service.