@prefix owl:      <http://www.w3.org/2002/07/owl#> .
@prefix xsd:      <http://www.w3.org/2001/XMLSchema#> .
@prefix rdfs:     <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos:     <http://www.w3.org/2004/02/skos/core#> .
@prefix dcterms:  <http://purl.org/dc/terms/> .
@prefix prov:     <http://www.w3.org/ns/prov#> .
@prefix cc:       <http://creativecommons.org/ns#> .
@prefix vann:     <http://purl.org/vocab/vann/> .

@prefix arch:     <https://meta.linked.archi/core#> .
@prefix arch-vis: <https://meta.linked.archi/core-vis#> .
@prefix bpmn:     <https://meta.linked.archi/bpmn/onto#> .
@prefix :         <https://meta.linked.archi/bpmn/notation#> .

<https://meta.linked.archi/bpmn/notation#>
    a                             owl:Ontology ;
    owl:imports                   <https://meta.linked.archi/core#>,
                                  <https://meta.linked.archi/core-vis#> ;
    cc:license                    "http://creativecommons.org/licenses/by/4.0/" ;
    vann:preferredNamespaceUri    "https://meta.linked.archi/bpmn/notation#" ;
    vann:preferredNamespacePrefix "bpmnnot" ;
    dcterms:creator               "Kalin Maldzhanski"^^xsd:string ;
    dcterms:title                 "Linked.Archi BPMN 2.0.2 Visual Notation Set"@en ;
    dcterms:description           "Visual notation descriptors for BPMN 2.0.2 elements and relationships, following the standard BPMN visual appearance defined by the OMG specification."@en ;
    dcterms:created               "2026-06-05"^^xsd:date ;
    dcterms:modified              "2026-06-05"^^xsd:date ;
    dcterms:publisher             "Linked.Archi"@en, <https://linked.archi> ;
    owl:versionInfo               "0.1.0"@en ;
    dcterms:source  <https://www.omg.org/spec/BPMN/2.0.2/> ;
    prov:wasDerivedFrom <https://www.omg.org/spec/BPMN/2.0.2/> ;
    rdfs:seeAlso    <https://www.omg.org/spec/BPMN/2.0.2/>,
                    <https://www.omg.org/spec/BPMN/2.0.2/PDF>,
                    <https://www.omg.org/spec/BPMN/> ;
    skos:editorialNote '''Visual notation follows the BPMN 2.0.2 specification:
- Chapter 7 (BPMN Core Structure): defines element categories and graphical semantics
- Chapter 10 (Process): §10.2.4 task marker conventions
- Chapter 11 (Choreography): choreography task shapes
- Chapter 12 (BPMN DI): diagram interchange shapes and styles
- Table 7.1: mapping of graphical elements to notation categories
Events use circle shapes with line weight distinguishing start (thin), end (thick),
and intermediate (double). Gateways use diamond shapes with internal markers.
Activities use rounded rectangles with task-type markers top-left.'''@en .


#################################################################
# Notation Set
#################################################################

:BPMNStandardNotation
    a               arch-vis:NotationSet ;
    skos:prefLabel  "BPMN 2.0.2 Standard Notation"@en ;
    skos:definition "The standard visual notation defined by the BPMN 2.0.2 specification."@en .


#################################################################
# Activities
#################################################################

:ProcessNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:Process ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:RoundedRectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  120.0 ;
        arch-vis:defaultHeight 80.0 ;
    ] .

:SubProcessNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:SubProcess ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:RoundedRectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/subprocess.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:BottomCenter ;
        arch-vis:defaultWidth  140.0 ;
        arch-vis:defaultHeight 100.0 ;
    ] .

:TaskNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:Task ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:RoundedRectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  100.0 ;
        arch-vis:defaultHeight 60.0 ;
    ] .

:UserTaskNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:UserTask ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:RoundedRectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/user-task.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:TopLeft ;
        arch-vis:defaultWidth  100.0 ;
        arch-vis:defaultHeight 60.0 ;
    ] .

:ServiceTaskNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:ServiceTask ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:RoundedRectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/service-task.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:TopLeft ;
        arch-vis:defaultWidth  100.0 ;
        arch-vis:defaultHeight 60.0 ;
    ] .

:SendTaskNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:SendTask ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:RoundedRectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/send-task.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:TopLeft ;
        arch-vis:defaultWidth  100.0 ;
        arch-vis:defaultHeight 60.0 ;
    ] .

:ReceiveTaskNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:ReceiveTask ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:RoundedRectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/receive-task.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:TopLeft ;
        arch-vis:defaultWidth  100.0 ;
        arch-vis:defaultHeight 60.0 ;
    ] .


#################################################################
# Events
#################################################################

:StartEventNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:StartEvent ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Circle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#4CAF50" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  36.0 ;
        arch-vis:defaultHeight 36.0 ;
    ] .

:EndEventNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:EndEvent ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Circle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#F44336" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  36.0 ;
        arch-vis:defaultHeight 36.0 ;
    ] .

:IntermediateCatchEventNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:IntermediateCatchEvent ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Circle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#FF9800" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  36.0 ;
        arch-vis:defaultHeight 36.0 ;
    ] .

:IntermediateThrowEventNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:IntermediateThrowEvent ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Circle ;
        arch-vis:fillColor     "#000000" ;
        arch-vis:lineColor     "#FF9800" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  36.0 ;
        arch-vis:defaultHeight 36.0 ;
    ] .

:BoundaryEventNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:BoundaryEvent ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Circle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#FF9800" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  30.0 ;
        arch-vis:defaultHeight 30.0 ;
    ] .


#################################################################
# Gateways
#################################################################

:ExclusiveGatewayNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:ExclusiveGateway ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Diamond ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/exclusive-gateway.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:Center ;
        arch-vis:defaultWidth  42.0 ;
        arch-vis:defaultHeight 42.0 ;
    ] .

:ParallelGatewayNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:ParallelGateway ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Diamond ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/parallel-gateway.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:Center ;
        arch-vis:defaultWidth  42.0 ;
        arch-vis:defaultHeight 42.0 ;
    ] .

:InclusiveGatewayNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:InclusiveGateway ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Diamond ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/inclusive-gateway.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:Center ;
        arch-vis:defaultWidth  42.0 ;
        arch-vis:defaultHeight 42.0 ;
    ] .

:EventBasedGatewayNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:EventBasedGateway ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Diamond ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/event-based-gateway.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:Center ;
        arch-vis:defaultWidth  42.0 ;
        arch-vis:defaultHeight 42.0 ;
    ] .


#################################################################
# Swim Lanes
#################################################################

:ParticipantNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:Participant ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Rectangle ;
        arch-vis:fillColor     "#F5F5F5" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  600.0 ;
        arch-vis:defaultHeight 200.0 ;
    ] .

:LaneNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:Lane ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Rectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeOnly ;
        arch-vis:defaultWidth  560.0 ;
        arch-vis:defaultHeight 200.0 ;
    ] .


#################################################################
# Data
#################################################################

:DataObjectNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:DataObject ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Rectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/data-object.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:TopLeft ;
        arch-vis:defaultWidth  36.0 ;
        arch-vis:defaultHeight 50.0 ;
    ] .

:MessageNotation
    a                    arch-vis:VisualNotation ;
    arch-vis:notationFor bpmn:Message ;
    arch-vis:inNotationSet :BPMNStandardNotation ;
    arch-vis:defaultStyle [
        a                      arch-vis:Style ;
        arch-vis:shapeType     arch-vis:Rectangle ;
        arch-vis:fillColor     "#FFFFFF" ;
        arch-vis:lineColor     "#000000" ;
        arch-vis:renderingMode arch-vis:ShapeWithBadge ;
        arch-vis:iconSymbol    "https://meta.linked.archi/bpmn/icons/glyphs/message.svg"^^xsd:anyURI ;
        arch-vis:iconPlacement arch-vis:TopLeft ;
        arch-vis:defaultWidth  36.0 ;
        arch-vis:defaultHeight 26.0 ;
    ] .
