Linked.Archi UML 2.5.1 SHACL Shapes
type: Ontology
imports: onto#
imports: core-shapes#
license: http://creativecommons.org/licenses/by/4.0/
preferred namespace prefix: umlsh
creator: Kalin Maldzhanski
description: SHACL shapes for validating UML model data in the Linked.Archi knowledge graph. Covers relationship domain/range constraints, required properties, and structural integrity rules derived from the UML 2.5.1 specification.
created: 2025-12-01
modified: 2026-02-01
publisher: Linked.Archi
publisher: linked.archi
status: draft
version IRI: 0.1.0#
version info: 0.1.0
source: https://www.omg.org/spec/UML/2.5.1/

AssociationShape
type: NodeShape
target class: Association
property:
  path: source
  class: Classifier
  min count: 1
  max count: 1
  message: Association source must be a Classifier.
property:
  path: target
  class: Classifier
  min count: 1
  max count: 1
  message: Association target must be a Classifier.

AggregationShape
type: NodeShape
target class: Aggregation
property:
  path: source
  class: Classifier
  min count: 1
  max count: 1
  message: Aggregation source (whole) must be a Classifier.
property:
  path: target
  class: Classifier
  min count: 1
  max count: 1
  message: Aggregation target (part) must be a Classifier.

CompositionShape
type: NodeShape
target class: Composition
property:
  path: source
  class: Classifier
  min count: 1
  max count: 1
  message: Composition source (whole) must be a Classifier.
property:
  path: target
  class: Classifier
  min count: 1
  max count: 1
  message: Composition target (part) must be a Classifier.

GeneralizationShape
type: NodeShape
target class: Generalization
property:
  path: source
  class: Classifier
  min count: 1
  max count: 1
  message: Generalization source (specific) must be a Classifier.
property:
  path: target
  class: Classifier
  min count: 1
  max count: 1
  message: Generalization target (general) must be a Classifier.

RealizationShape
type: NodeShape
target class: Realization
property:
  path: source
  class: Classifier
  min count: 1
  max count: 1
  message: Realization source must be a Classifier.
property:
  path: target
  class: Classifier
  min count: 1
  max count: 1
  message: Realization target must be a Classifier.

InterfaceRealizationShape
type: NodeShape
target class: InterfaceRealization
property:
  path: source
  class: BehavioredClassifier
  min count: 1
  max count: 1
  message: InterfaceRealization source must be a BehavioredClassifier.
property:
  path: target
  class: Interface
  min count: 1
  max count: 1
  message: InterfaceRealization target must be an Interface.

DependencyShape
type: NodeShape
target class: Dependency
property:
  path: source
  class: NamedElement
  min count: 1
  max count: 1
  message: Dependency source (client) must be a NamedElement.
property:
  path: target
  class: NamedElement
  min count: 1
  max count: 1
  message: Dependency target (supplier) must be a NamedElement.

IncludeShape
type: NodeShape
target class: Include
property:
  path: source
  class: UseCase
  min count: 1
  max count: 1
  message: Include source must be a UseCase.
property:
  path: target
  class: UseCase
  min count: 1
  max count: 1
  message: Include target must be a UseCase.

ExtendShape
type: NodeShape
target class: Extend
property:
  path: source
  class: UseCase
  min count: 1
  max count: 1
  message: Extend source must be a UseCase.
property:
  path: target
  class: UseCase
  min count: 1
  max count: 1
  message: Extend target must be a UseCase.

DeploymentShape
type: NodeShape
target class: Deployment
property:
  path: source
  class: Artifact
  min count: 1
  max count: 1
  message: Deployment source must be an Artifact.
property:
  path: target
  class: DeploymentTarget
  min count: 1
  max count: 1
  message: Deployment target must be a DeploymentTarget (Node, Device, ExecutionEnvironment).

NamedElementShape
type: NodeShape
target class: NamedElement
property:
  path: prefLabel
  min count: 1
  message: Every NamedElement must have a skos:prefLabel.

ClassifierShape
type: NodeShape
target class: Classifier
property:
  path: isAbstract
  max count: 1
  datatype: boolean
  message: isAbstract must be a single boolean value.

PropertyShape
type: NodeShape
target class: Property
property:
  path: lower
  max count: 1
  datatype: integer
  message: lower must be a single integer.
property:
  path: upper
  max count: 1
  datatype: integer
  message: upper must be a single integer (-1 for unlimited).

PortShape
type: NodeShape
target class: Port
property:
  path: isBehavior
  max count: 1
  datatype: boolean
property:
  path: isService
  max count: 1
  datatype: boolean
property:
  path: isConjugated
  max count: 1
  datatype: boolean