SHACL Shapes for BPMN (draft)
type: Ontology
description: SHACL shapes validating BPMN 2.0.2 core semantic classes — activities, events, gateways, flows, data objects, and their structural constraints. Derived from the OMG BPMN 2.0.2 specification.
issued: 2026-01-27
imports: infra#
imports: onto#
imports: core#
version info: 2.0.2

ActivityShape
type: NodeShape
target class: Activity
property:
  path: isForCompensation
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: loopCharacteristics
  max count: 1
  class: LoopCharacteristics
property:
  path: resources
  class: ResourceRole
property:
  path: default
  max count: 1
  class: SequenceFlow
property:
  path: properties
  class: Property
property:
  path: ioSpecification
  max count: 1
  class: InputOutputSpecification
property:
  path: boundaryEventRefs
  class: BoundaryEvent
property:
  path: dataInputAssociations
  class: DataInputAssociation
property:
  path: dataOutputAssociations
  class: DataOutputAssociation
property:
  path: startQuantity
  min count: 1
  max count: 1
  datatype: integer
property:
  path: completionQuantity
  min count: 1
  max count: 1
  datatype: integer

AdHocSubProcessShape
type: NodeShape
target class: AdHocSubProcess
property:
  path: completionCondition
  min count: 1
  max count: 1
  class: Expression
property:
  path: ordering
  min count: 1
  max count: 1
  datatype: string
  in: Parallel
  in: Sequential
property:
  path: cancelRemainingInstances
  min count: 1
  max count: 1
  datatype: boolean

AssignmentShape
type: NodeShape
target class: Assignment
property:
  path: from
  min count: 1
  max count: 1
  class: Expression
property:
  path: to
  min count: 1
  max count: 1
  class: Expression

AssociationShape
type: NodeShape
target class: Association
property:
  path: associationDirection
  min count: 1
  max count: 1
  datatype: string
  in: None
  in: One
  in: Both
property:
  path: sourceRef
  min count: 1
  max count: 1
  class: BaseElement
property:
  path: targetRef
  min count: 1
  max count: 1
  class: BaseElement

BaseElementShape
type: NodeShape
target class: BaseElement
property:
  path: id
  min count: 1
  max count: 1
  datatype: string
property:
  path: extensionDefinitions
  class: ExtensionDefinition
property:
  path: extensionValues
  class: ExtensionAttributeValue
property:
  path: documentation
  class: Documentation

BoundaryEventShape
type: NodeShape
target class: BoundaryEvent
property:
  path: cancelActivity
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: attachedToRef
  min count: 1
  max count: 1
  class: Activity

BusinessRuleTaskShape
type: NodeShape
target class: BusinessRuleTask
property:
  path: implementation
  min count: 1
  max count: 1
  datatype: string

CallActivityShape
type: NodeShape
target class: CallActivity
property:
  path: calledElementRef
  max count: 1
  class: CallableElement

CallChoreographyShape
type: NodeShape
target class: CallChoreography
property:
  path: calledChoreographyRef
  max count: 1
  class: Choreography
property:
  path: participantAssociations
  class: ParticipantAssociation

CallConversationShape
type: NodeShape
target class: CallConversation
property:
  path: calledCollaborationRef
  max count: 1
  class: Collaboration
property:
  path: participantAssociations
  class: ParticipantAssociation

CallableElementShape
type: NodeShape
target class: CallableElement
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: ioSpecification
  max count: 1
  class: InputOutputSpecification
property:
  path: supportedInterfaceRefs
  class: Interface
property:
  path: ioBinding
  class: InputOutputBinding

CatchEventShape
type: NodeShape
target class: CatchEvent
property:
  path: parallelMultiple
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: outputSet
  max count: 1
  class: OutputSet
property:
  path: eventDefinitionRefs
  class: EventDefinition
property:
  path: dataOutputAssociation
  class: DataOutputAssociation
property:
  path: dataOutputs
  class: DataOutput
property:
  path: eventDefinitions
  class: EventDefinition

CategoryShape
type: NodeShape
target class: Category
property:
  path: categoryValue
  class: CategoryValue
property:
  path: name
  min count: 1
  max count: 1
  datatype: string

CategoryValueShape
type: NodeShape
target class: CategoryValue
property:
  path: categorizedFlowElements
  class: FlowElement
property:
  path: value
  min count: 1
  max count: 1
  datatype: string

ChoreographyActivityShape
type: NodeShape
target class: ChoreographyActivity
property:
  path: participantRefs
  min count: 2
  class: Participant
property:
  path: initiatingParticipantRef
  min count: 1
  max count: 1
  class: Participant
property:
  path: correlationKeys
  class: CorrelationKey
property:
  path: loopType
  min count: 1
  max count: 1
  datatype: string
  in: None
  in: Standard
  in: MultiInstanceSequential
  in: MultiInstanceParallel

ChoreographyTaskShape
type: NodeShape
target class: ChoreographyTask
property:
  path: messageFlowRef
  min count: 1
  max count: 2
  class: MessageFlow

CollaborationShape
type: NodeShape
target class: Collaboration
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: isClosed
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: choreographyRef
  class: Choreography
property:
  path: artifacts
  class: Artifact
property:
  path: participantAssociations
  class: ParticipantAssociation
property:
  path: messageFlowAssociations
  class: MessageFlowAssociation
property:
  path: conversationAssociations
  min count: 1
  max count: 1
  class: ConversationAssociation
property:
  path: participants
  class: Participant
property:
  path: messageFlows
  class: MessageFlow
property:
  path: correlationKeys
  class: CorrelationKey
property:
  path: conversations
  class: ConversationNode
property:
  path: conversationLinks
  class: ConversationLink

CompensateEventDefinitionShape
type: NodeShape
target class: CompensateEventDefinition
property:
  path: waitForCompletion
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: activityRef
  max count: 1
  class: Activity

ComplexBehaviorDefinitionShape
type: NodeShape
target class: ComplexBehaviorDefinition
property:
  path: condition
  min count: 1
  max count: 1
  class: FormalExpression
property:
  path: event
  max count: 1
  class: ImplicitThrowEvent

ComplexGatewayShape
type: NodeShape
target class: ComplexGateway
property:
  path: activationCondition
  max count: 1
  class: Expression
property:
  path: default
  max count: 1
  class: SequenceFlow

ConditionalEventDefinitionShape
type: NodeShape
target class: ConditionalEventDefinition
property:
  path: condition
  min count: 1
  max count: 1
  class: Expression

ConversationAssociationShape
type: NodeShape
target class: ConversationAssociation
property:
  path: innerConversationNodeRef
  min count: 1
  max count: 1
  class: ConversationNode
property:
  path: outerConversationNodeRef
  min count: 1
  max count: 1
  class: ConversationNode

ConversationLinkShape
type: NodeShape
target class: ConversationLink
property:
  path: sourceRef
  min count: 1
  max count: 1
  class: InteractionNode
property:
  path: targetRef
  min count: 1
  max count: 1
  class: InteractionNode
property:
  path: name
  max count: 1
  datatype: string

ConversationNodeShape
type: NodeShape
target class: ConversationNode
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: participantRefs
  min count: 2
  class: Participant
property:
  path: messageFlowRefs
  class: MessageFlow
property:
  path: correlationKeys
  class: CorrelationKey

CorrelationKeyShape
type: NodeShape
target class: CorrelationKey
property:
  path: correlationPropertyRef
  class: CorrelationProperty
property:
  path: name
  min count: 1
  max count: 1
  datatype: string

CorrelationPropertyShape
type: NodeShape
target class: CorrelationProperty
property:
  path: correlationPropertyRetrievalExpression
  min count: 1
  class: CorrelationPropertyRetrievalExpression
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: type
  max count: 1
  class: ItemDefinition

CorrelationPropertyBindingShape
type: NodeShape
target class: CorrelationPropertyBinding
property:
  path: dataPath
  min count: 1
  max count: 1
  class: FormalExpression
property:
  path: correlationPropertyRef
  min count: 1
  max count: 1
  class: CorrelationProperty

CorrelationPropertyRetrievalExpressionShape
type: NodeShape
target class: CorrelationPropertyRetrievalExpression
property:
  path: messagePath
  min count: 1
  max count: 1
  class: FormalExpression
property:
  path: messageRef
  min count: 1
  max count: 1
  class: Message

CorrelationSubscriptionShape
type: NodeShape
target class: CorrelationSubscription
property:
  path: correlationKeyRef
  min count: 1
  max count: 1
  class: CorrelationKey
property:
  path: correlationPropertyBinding
  class: CorrelationPropertyBinding

DataAssociationShape
type: NodeShape
target class: DataAssociation
property:
  path: transformation
  max count: 1
  class: FormalExpression
property:
  path: assignment
  class: Assignment
property:
  path: targetRef
  min count: 1
  max count: 1
  class: ItemAwareElement
property:
  path: sourceRef
  class: ItemAwareElement

DataInputShape
type: NodeShape
target class: DataInput
property:
  path: name
  max count: 1
  datatype: string
property:
  path: isCollection
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: inputSetRefs
  min count: 1
  class: InputSet
property:
  path: inputSetWithOptional
  class: InputSet
property:
  path: inputSetWithWhileExecuting
  class: InputSet

DataObjectShape
type: NodeShape
target class: DataObject
property:
  path: isCollection
  min count: 1
  max count: 1
  datatype: boolean

DataObjectReferenceShape
type: NodeShape
target class: DataObjectReference
property:
  path: dataObjectRef
  min count: 1
  max count: 1
  class: DataObject

DataOutputShape
type: NodeShape
target class: DataOutput
property:
  path: name
  max count: 1
  datatype: string
property:
  path: isCollection
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: outputSetRefs
  min count: 1
  class: OutputSet
property:
  path: outputSetWithOptional
  class: OutputSet
property:
  path: outputSetWithWhileExecuting
  class: OutputSet

DataStateShape
type: NodeShape
target class: DataState
property:
  path: name
  min count: 1
  max count: 1
  datatype: string

DataStoreShape
type: NodeShape
target class: DataStore
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: capacity
  min count: 1
  max count: 1
  datatype: integer
property:
  path: isUnlimited
  min count: 1
  max count: 1
  datatype: boolean

DataStoreReferenceShape
type: NodeShape
target class: DataStoreReference
property:
  path: dataStoreRef
  max count: 1
  class: DataStore

DocumentationShape
type: NodeShape
target class: Documentation
property:
  path: text
  min count: 1
  max count: 1
  datatype: string
property:
  path: textFormat
  min count: 1
  max count: 1
  datatype: string

ErrorShape
type: NodeShape
target class: Error
property:
  path: structureRef
  max count: 1
  class: ItemDefinition
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: errorCode
  min count: 1
  max count: 1
  datatype: string

ErrorEventDefinitionShape
type: NodeShape
target class: ErrorEventDefinition
property:
  path: errorRef
  max count: 1
  class: Error

EscalationShape
type: NodeShape
target class: Escalation
property:
  path: structureRef
  max count: 1
  class: ItemDefinition
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: escalationCode
  min count: 1
  max count: 1
  datatype: string

EscalationEventDefinitionShape
type: NodeShape
target class: EscalationEventDefinition
property:
  path: escalationRef
  max count: 1
  class: Escalation

EventBasedGatewayShape
type: NodeShape
target class: EventBasedGateway
property:
  path: instantiate
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: eventGatewayType
  min count: 1
  max count: 1
  datatype: string
  in: Parallel
  in: Exclusive

ExclusiveGatewayShape
type: NodeShape
target class: ExclusiveGateway
property:
  path: default
  max count: 1
  class: SequenceFlow

ExtensionShape
type: NodeShape
target class: Extension
property:
  path: mustUnderstand
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: definition
  min count: 1
  max count: 1
  class: ExtensionDefinition

ExtensionAttributeDefinitionShape
type: NodeShape
target class: ExtensionAttributeDefinition
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: type
  min count: 1
  max count: 1
  datatype: string
property:
  path: isReference
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: extensionDefinition
  min count: 1
  max count: 1
  class: ExtensionDefinition

ExtensionAttributeValueShape
type: NodeShape
target class: ExtensionAttributeValue
property:
  path: valueRef
  max count: 1
  node kind: IRIOrLiteral
property:
  path: value
  max count: 1
  node kind: IRIOrLiteral
property:
  path: extensionAttributeDefinition
  min count: 1
  max count: 1
  class: ExtensionAttributeDefinition

ExtensionDefinitionShape
type: NodeShape
target class: ExtensionDefinition
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: extensionAttributeDefinitions
  class: ExtensionAttributeDefinition

FlowElementShape
type: NodeShape
target class: FlowElement
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: auditing
  max count: 1
  class: Auditing
property:
  path: monitoring
  max count: 1
  class: Monitoring
property:
  path: categoryValueRef
  class: CategoryValue

FormalExpressionShape
type: NodeShape
target class: FormalExpression
property:
  path: language
  min count: 1
  max count: 1
  datatype: string
property:
  path: body
  min count: 1
  max count: 1
  node kind: IRIOrLiteral
property:
  path: evaluatesToTypeRef
  min count: 1
  max count: 1
  class: ItemDefinition

GatewayShape
type: NodeShape
target class: Gateway
property:
  path: gatewayDirection
  min count: 1
  max count: 1
  datatype: string
  in: Unspecified
  in: Converging
  in: Diverging
  in: Mixed

GlobalBusinessRuleTaskShape
type: NodeShape
target class: GlobalBusinessRuleTask
property:
  path: implementation
  min count: 1
  max count: 1
  datatype: string

GlobalChoreographyTaskShape
type: NodeShape
target class: GlobalChoreographyTask
property:
  path: initiatingParticipantRef
  min count: 1
  max count: 1
  class: Participant

GlobalScriptTaskShape
type: NodeShape
target class: GlobalScriptTask
property:
  path: scriptLanguage
  min count: 1
  max count: 1
  datatype: string
property:
  path: script
  min count: 1
  max count: 1
  datatype: string

GlobalUserTaskShape
type: NodeShape
target class: GlobalUserTask
property:
  path: implementation
  min count: 1
  max count: 1
  datatype: string
property:
  path: renderings
  class: Rendering

GroupShape
type: NodeShape
target class: Group
property:
  path: categoryValueRef
  max count: 1
  class: CategoryValue

InclusiveGatewayShape
type: NodeShape
target class: InclusiveGateway
property:
  path: default
  max count: 1
  class: SequenceFlow

InputOutputBindingShape
type: NodeShape
target class: InputOutputBinding
property:
  path: inputDataRef
  min count: 1
  max count: 1
  class: InputSet
property:
  path: outputDataRef
  min count: 1
  max count: 1
  class: OutputSet
property:
  path: operationRef
  min count: 1
  max count: 1
  class: Operation

InputOutputSpecificationShape
type: NodeShape
target class: InputOutputSpecification
property:
  path: inputSets
  min count: 1
  class: InputSet
property:
  path: outputSets
  min count: 1
  class: OutputSet
property:
  path: dataInputs
  class: DataInput
property:
  path: dataOutputs
  class: DataOutput

InputSetShape
type: NodeShape
target class: InputSet
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: dataInputRefs
  class: DataInput
property:
  path: optionalInputRefs
  class: DataInput
property:
  path: whileExecutingInputRefs
  class: DataInput
property:
  path: outputSetRefs
  class: OutputSet

InterfaceShape
type: NodeShape
target class: Interface
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: operations
  min count: 1
  class: Operation
property:
  path: implementationRef
  max count: 1
  node kind: IRIOrLiteral

ItemAwareElementShape
type: NodeShape
target class: ItemAwareElement
property:
  path: itemSubjectRef
  max count: 1
  class: ItemDefinition
property:
  path: dataState
  max count: 1
  class: DataState

ItemDefinitionShape
type: NodeShape
target class: ItemDefinition
property:
  path: itemKind
  min count: 1
  max count: 1
  datatype: string
  in: Physical
  in: Information
property:
  path: structureRef
  min count: 1
  max count: 1
  node kind: IRIOrLiteral
property:
  path: isCollection
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: import
  max count: 1
  class: Import

LaneShape
type: NodeShape
target class: Lane
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: childLaneSet
  max count: 1
  class: LaneSet
property:
  path: partitionElementRef
  max count: 1
  class: BaseElement
property:
  path: flowNodeRefs
  class: FlowNode
property:
  path: partitionElement
  max count: 1
  class: BaseElement

LaneSetShape
type: NodeShape
target class: LaneSet
property:
  path: lanes
  class: Lane
property:
  path: name
  max count: 1
  datatype: string

LinkEventDefinitionShape
type: NodeShape
target class: LinkEventDefinition
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: target
  max count: 1
  class: LinkEventDefinition
property:
  path: source
  class: LinkEventDefinition

MessageShape
type: NodeShape
target class: Message
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: itemRef
  max count: 1
  class: ItemDefinition

MessageEventDefinitionShape
type: NodeShape
target class: MessageEventDefinition
property:
  path: messageRef
  max count: 1
  class: Message
property:
  path: operationRef
  max count: 1
  class: Operation

MessageFlowShape
type: NodeShape
target class: MessageFlow
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: sourceRef
  min count: 1
  max count: 1
  class: InteractionNode
property:
  path: targetRef
  min count: 1
  max count: 1
  class: InteractionNode
property:
  path: messageRef
  max count: 1
  class: Message

MessageFlowAssociationShape
type: NodeShape
target class: MessageFlowAssociation
property:
  path: innerMessageFlowRef
  min count: 1
  max count: 1
  class: MessageFlow
property:
  path: outerMessageFlowRef
  min count: 1
  max count: 1
  class: MessageFlow

MultiInstanceLoopCharacteristicsShape
type: NodeShape
target class: MultiInstanceLoopCharacteristics
property:
  path: isSequential
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: behavior
  min count: 1
  max count: 1
  datatype: string
  in: None
  in: One
  in: All
  in: Complex
property:
  path: loopCardinality
  max count: 1
  class: Expression
property:
  path: loopDataInputRef
  max count: 1
  class: ItemAwareElement
property:
  path: loopDataOutputRef
  max count: 1
  class: ItemAwareElement
property:
  path: inputDataItem
  max count: 1
  class: DataInput
property:
  path: outputDataItem
  max count: 1
  class: DataOutput
property:
  path: completionCondition
  max count: 1
  class: Expression
property:
  path: complexBehaviorDefinition
  class: ComplexBehaviorDefinition
property:
  path: oneBehaviorEventRef
  max count: 1
  class: EventDefinition
property:
  path: noneBehaviorEventRef
  max count: 1
  class: EventDefinition

OperationShape
type: NodeShape
target class: Operation
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: inMessageRef
  min count: 1
  max count: 1
  class: Message
property:
  path: outMessageRef
  max count: 1
  class: Message
property:
  path: errorRefs
  class: Error
property:
  path: implementationRef
  max count: 1
  node kind: IRIOrLiteral

OutputSetShape
type: NodeShape
target class: OutputSet
property:
  path: dataOutputRefs
  class: DataOutput
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: inputSetRefs
  class: InputSet
property:
  path: optionalOutputRefs
  class: DataOutput
property:
  path: whileExecutingOutputRefs
  class: DataOutput

ParticipantShape
type: NodeShape
target class: Participant
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: interfaceRefs
  class: Interface
property:
  path: participantMultiplicity
  max count: 1
  class: ParticipantMultiplicity
property:
  path: endPointRefs
  class: EndPoint
property:
  path: processRef
  max count: 1
  class: Process

ParticipantAssociationShape
type: NodeShape
target class: ParticipantAssociation
property:
  path: innerParticipantRef
  min count: 1
  max count: 1
  class: Participant
property:
  path: outerParticipantRef
  min count: 1
  max count: 1
  class: Participant

ParticipantMultiplicityShape
type: NodeShape
target class: ParticipantMultiplicity
property:
  path: minimum
  min count: 1
  max count: 1
  datatype: integer
property:
  path: maximum
  max count: 1
  datatype: integer

PartnerEntityShape
type: NodeShape
target class: PartnerEntity
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: participantRef
  class: Participant

PartnerRoleShape
type: NodeShape
target class: PartnerRole
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: participantRef
  class: Participant

ProcessShape
type: NodeShape
target class: Process
property:
  path: processType
  min count: 1
  max count: 1
  datatype: string
  in: None
  in: Public
  in: Private
property:
  path: isClosed
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: auditing
  max count: 1
  class: Auditing
property:
  path: monitoring
  max count: 1
  class: Monitoring
property:
  path: properties
  class: Property
property:
  path: supports
  class: Process
property:
  path: definitionalCollaborationRef
  max count: 1
  class: Collaboration
property:
  path: isExecutable
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: resources
  class: ResourceRole
property:
  path: artifacts
  class: Artifact
property:
  path: correlationSubscriptions
  class: CorrelationSubscription

PropertyShape
type: NodeShape
target class: Property
property:
  path: name
  min count: 1
  max count: 1
  datatype: string

ReceiveTaskShape
type: NodeShape
target class: ReceiveTask
property:
  path: implementation
  min count: 1
  max count: 1
  datatype: string
property:
  path: instantiate
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: operationRef
  max count: 1
  class: Operation
property:
  path: messageRef
  max count: 1
  class: Message

RelationshipShape
type: NodeShape
target class: Relationship
property:
  path: type
  min count: 1
  max count: 1
  datatype: string
property:
  path: direction
  min count: 1
  max count: 1
  datatype: string
  in: None
  in: Forward
  in: Backward
  in: Both
property:
  path: sources
  min count: 1
  node kind: IRIOrLiteral
property:
  path: targets
  min count: 1
  node kind: IRIOrLiteral

ResourceShape
type: NodeShape
target class: Resource
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: resourceParameters
  class: ResourceParameter

ResourceAssignmentExpressionShape
type: NodeShape
target class: ResourceAssignmentExpression
property:
  path: expression
  min count: 1
  max count: 1
  class: Expression

ResourceParameterShape
type: NodeShape
target class: ResourceParameter
property:
  path: name
  min count: 1
  max count: 1
  datatype: string
property:
  path: isRequired
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: type
  max count: 1
  class: ItemDefinition

ResourceParameterBindingShape
type: NodeShape
target class: ResourceParameterBinding
property:
  path: expression
  min count: 1
  max count: 1
  class: Expression
property:
  path: parameterRef
  min count: 1
  max count: 1
  class: ResourceParameter

ResourceRoleShape
type: NodeShape
target class: ResourceRole
property:
  path: resourceRef
  max count: 1
  class: Resource
property:
  path: resourceParameterBindings
  class: ResourceParameterBinding
property:
  path: resourceAssignmentExpression
  max count: 1
  class: ResourceAssignmentExpression
property:
  path: name
  min count: 1
  max count: 1
  datatype: string

ScriptTaskShape
type: NodeShape
target class: ScriptTask
property:
  path: scriptFormat
  min count: 1
  max count: 1
  datatype: string
property:
  path: script
  min count: 1
  max count: 1
  datatype: string

SendTaskShape
type: NodeShape
target class: SendTask
property:
  path: implementation
  min count: 1
  max count: 1
  datatype: string
property:
  path: operationRef
  max count: 1
  class: Operation
property:
  path: messageRef
  max count: 1
  class: Message

SequenceFlowShape
type: NodeShape
target class: SequenceFlow
property:
  path: isImmediate
  max count: 1
  datatype: boolean
property:
  path: conditionExpression
  max count: 1
  class: Expression
property:
  path: sourceRef
  min count: 1
  max count: 1
  class: FlowNode
property:
  path: targetRef
  min count: 1
  max count: 1
  class: FlowNode

ServiceTaskShape
type: NodeShape
target class: ServiceTask
property:
  path: implementation
  min count: 1
  max count: 1
  datatype: string
property:
  path: operationRef
  max count: 1
  class: Operation

SignalShape
type: NodeShape
target class: Signal
property:
  path: structureRef
  max count: 1
  class: ItemDefinition
property:
  path: name
  min count: 1
  max count: 1
  datatype: string

SignalEventDefinitionShape
type: NodeShape
target class: SignalEventDefinition
property:
  path: signalRef
  max count: 1
  class: Signal

StandardLoopCharacteristicsShape
type: NodeShape
target class: StandardLoopCharacteristics
property:
  path: testBefore
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: loopCondition
  max count: 1
  class: Expression
property:
  path: loopMaximum
  max count: 1
  class: Expression

StartEventShape
type: NodeShape
target class: StartEvent
property:
  path: isInterrupting
  min count: 1
  max count: 1
  datatype: boolean

SubProcessShape
type: NodeShape
target class: SubProcess
property:
  path: triggeredByEvent
  min count: 1
  max count: 1
  datatype: boolean
property:
  path: artifacts
  class: Artifact

TextAnnotationShape
type: NodeShape
target class: TextAnnotation
property:
  path: text
  min count: 1
  max count: 1
  datatype: string
property:
  path: textFormat
  min count: 1
  max count: 1
  datatype: string

ThrowEventShape
type: NodeShape
target class: ThrowEvent
property:
  path: inputSet
  max count: 1
  class: InputSet
property:
  path: eventDefinitionRefs
  class: EventDefinition
property:
  path: dataInputAssociation
  class: DataInputAssociation
property:
  path: dataInputs
  class: DataInput
property:
  path: eventDefinitions
  class: EventDefinition

TimerEventDefinitionShape
type: NodeShape
target class: TimerEventDefinition
property:
  path: timeDate
  max count: 1
  class: Expression
property:
  path: timeCycle
  max count: 1
  class: Expression
property:
  path: timeDuration
  max count: 1
  class: Expression

TransactionShape
type: NodeShape
target class: Transaction
property:
  path: protocol
  max count: 1
  datatype: string
property:
  path: method
  min count: 1
  max count: 1
  datatype: string

UserTaskShape
type: NodeShape
target class: UserTask
property:
  path: renderings
  class: Rendering
property:
  path: implementation
  min count: 1
  max count: 1
  datatype: string