Linked.Archi BPMN Lite SHACL Shapes
type: Ontology
license: http://creativecommons.org/licenses/by/4.0/
preferred namespace prefix: bpmnls
description: SHACL validation shapes for the BPMN Lite ontology.
created: 2026-05-06
modified: 2026-05-06
publisher: Linked.Archi
publisher: linked.archi
version info: 0.1.0

Process Shape
type: NodeShape
target class: Process
property:
  path: name
  min count: 1
  datatype: string
  name: name
  message: A Process must have a name.

SubProcess Shape
type: NodeShape
target class: SubProcess
property:
  path: name
  min count: 1
  datatype: string
  name: name
  message: A SubProcess must have a name.

Task Shape
type: NodeShape
target class: Task
property:
  path: name
  min count: 1
  datatype: string
  name: name
  message: A Task must have a name.

Event Shape
type: NodeShape
target class: Event
property:
  path: eventType
  max count: 1
  datatype: string
  name: eventType
  in: none
  in: timer
  in: message
  in: signal
  in: error
  in: escalation
  in: cancel
  in: compensate
  in: conditional
  in: link
  in: terminate
  message: eventType must be one of: none, timer, message, signal, error, escalation, cancel, compensate, conditional, link, terminate.

Start Event Shape
type: NodeShape
target class: StartEvent
property:
  path: eventType
  in: none
  in: timer
  in: message
  in: signal
  in: conditional
  message: A StartEvent eventType must be one of: none, timer, message, signal, conditional.

End Event Shape
type: NodeShape
target class: EndEvent
property:
  path: eventType
  in: none
  in: message
  in: signal
  in: error
  in: escalation
  in: cancel
  in: compensate
  in: terminate
  message: An EndEvent eventType must be one of: none, message, signal, error, escalation, cancel, compensate, terminate.

Boundary Event Shape
type: NodeShape
target class: BoundaryEvent
property:
  path: eventType
  min count: 1
  message: A BoundaryEvent must specify an eventType.
property:
  path: isInterrupting
  max count: 1
  datatype: boolean
  name: isInterrupting

Gateway Shape
type: NodeShape
target class: Gateway
property:
  path: name
  max count: 1
  datatype: string
  name: name

Participant Shape
type: NodeShape
target class: Participant
property:
  path: name
  min count: 1
  datatype: string
  name: name
  message: A Participant must have a name.

Lane Shape
type: NodeShape
target class: Lane
property:
  path: name
  min count: 1
  datatype: string
  name: name
  message: A Lane must have a name.

Data Object Shape
type: NodeShape
target class: DataObject
property:
  path: name
  min count: 1
  datatype: string
  name: name
  message: A DataObject must have a name.

Data Store Shape
type: NodeShape
target class: DataStore
property:
  path: name
  min count: 1
  datatype: string
  name: name
  message: A DataStore must have a name.

Sequence Flow Shape
type: NodeShape
target class: SequenceFlow
property:
  path: source
  min count: 1
  max count: 1
  name: source
  message: A SequenceFlow must have exactly one source.
property:
  path: target
  min count: 1
  max count: 1
  name: target
  message: A SequenceFlow must have exactly one target.
property:
  path: condition
  max count: 1
  datatype: string
  name: condition

Message Flow Shape
type: NodeShape
target class: MessageFlow
property:
  path: source
  min count: 1
  max count: 1
  name: source
  message: A MessageFlow must have exactly one source.
property:
  path: target
  min count: 1
  max count: 1
  name: target
  message: A MessageFlow must have exactly one target.

Data Association Shape
type: NodeShape
target class: DataAssociation
property:
  path: source
  min count: 1
  max count: 1
  name: source
  message: A DataAssociation must have exactly one source.
property:
  path: target
  min count: 1
  max count: 1
  name: target
  message: A DataAssociation must have exactly one target.