tbox: v1.6 - provenance portee par les classes concretes, isAbstract declare et non plus infere, ForeignKeyConstraint devient ForeignKey, les dix classes sans rdfs:comment completees

This commit is contained in:
Bastien Gourdon
2026-08-05 09:13:12 +02:00
parent f83b7d7491
commit 1c8ab77003
20 changed files with 4770 additions and 1081 deletions
+209
View File
@@ -0,0 +1,209 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_C1" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="C1" name="Create a term" isExecutable="false">
<bpmn:documentation>Create a term | Scope: class | relation | attribute | annotation | Trigger: A missing concept, edge or field has been identified.</bpmn:documentation>
<bpmn:startEvent id="start" name="Need identified">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="unique" name="Check that no existing term covers the need">
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="exists" name="A term already covers it?">
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
<bpmn:outgoing>flow_4</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="reuse" name="Reuse the existing term">
<bpmn:incoming>flow_3</bpmn:incoming>
</bpmn:endEvent>
<bpmn:scriptTask id="name" name="Name the term according to its nature">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-001</pr:rule>
<pr:rule>TN-002</pr:rule>
<pr:rule>TN-003</pr:rule>
<pr:rule>TN-004</pr:rule>
<pr:rule>TN-005</pr:rule>
<pr:rule>TN-006</pr:rule>
<pr:rule>TN-009</pr:rule>
<pr:rule>TN-010</pr:rule>
<pr:rule>TN-011</pr:rule>
<pr:rule>TN-012</pr:rule>
<pr:rule>TN-013</pr:rule>
<pr:rule>TN-014</pr:rule>
<pr:rule>TN-015</pr:rule>
<pr:rule>TN-028</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="label" name="Derive the label">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-018</pr:rule>
<pr:rule>TN-019</pr:rule>
<pr:rule>TN-020</pr:rule>
<pr:rule>TN-021</pr:rule>
<pr:rule>TN-023</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:userTask id="short" name="Decide the short label and the acronym">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-022</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:userTask>
<bpmn:userTask id="comment" name="Write the comment">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-024</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_7</bpmn:incoming>
<bpmn:outgoing>flow_8</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="declare" name="Declare typing">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-007</pr:rule>
<pr:rule>TN-025</pr:rule>
<pr:rule>TN-026</pr:rule>
<pr:rule>TN-027</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_8</bpmn:incoming>
<bpmn:outgoing>flow_9</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:userTask id="validate" name="Validate before applying">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-004</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_9</bpmn:incoming>
<bpmn:outgoing>flow_10</bpmn:outgoing>
</bpmn:userTask>
<bpmn:callActivity id="check" name="Verify against the rulebook" calledElement="R1">
<bpmn:incoming>flow_10</bpmn:incoming>
<bpmn:outgoing>flow_11</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:callActivity id="release" name="Propagate and publish" calledElement="X1">
<bpmn:incoming>flow_11</bpmn:incoming>
<bpmn:outgoing>flow_12</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:endEvent id="end" name="Term available">
<bpmn:incoming>flow_12</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="unique" />
<bpmn:sequenceFlow id="flow_2" sourceRef="unique" targetRef="exists" />
<bpmn:sequenceFlow id="flow_3" name="yes" sourceRef="exists" targetRef="reuse" />
<bpmn:sequenceFlow id="flow_4" name="no" sourceRef="exists" targetRef="name" />
<bpmn:sequenceFlow id="flow_5" sourceRef="name" targetRef="label" />
<bpmn:sequenceFlow id="flow_6" sourceRef="label" targetRef="short" />
<bpmn:sequenceFlow id="flow_7" sourceRef="short" targetRef="comment" />
<bpmn:sequenceFlow id="flow_8" sourceRef="comment" targetRef="declare" />
<bpmn:sequenceFlow id="flow_9" sourceRef="declare" targetRef="validate" />
<bpmn:sequenceFlow id="flow_10" sourceRef="validate" targetRef="check" />
<bpmn:sequenceFlow id="flow_11" sourceRef="check" targetRef="release" />
<bpmn:sequenceFlow id="flow_12" sourceRef="release" targetRef="end" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_C1">
<bpmndi:BPMNPlane id="plane_C1" bpmnElement="C1">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_unique" bpmnElement="unique">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_exists" bpmnElement="exists">
<dc:Bounds x="460" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_reuse" bpmnElement="reuse">
<dc:Bounds x="660" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_name" bpmnElement="name">
<dc:Bounds x="660" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_label" bpmnElement="label">
<dc:Bounds x="860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_short" bpmnElement="short">
<dc:Bounds x="1060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_comment" bpmnElement="comment">
<dc:Bounds x="1260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_declare" bpmnElement="declare">
<dc:Bounds x="1460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_validate" bpmnElement="validate">
<dc:Bounds x="1660" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_check" bpmnElement="check">
<dc:Bounds x="1860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_release" bpmnElement="release">
<dc:Bounds x="2060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_end" bpmnElement="end">
<dc:Bounds x="2260" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="460" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="98" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="810" y="245" />
<di:waypoint x="860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="1010" y="115" />
<di:waypoint x="1060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="1210" y="115" />
<di:waypoint x="1260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_8" bpmnElement="flow_8">
<di:waypoint x="1410" y="115" />
<di:waypoint x="1460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_9" bpmnElement="flow_9">
<di:waypoint x="1610" y="115" />
<di:waypoint x="1660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_10" bpmnElement="flow_10">
<di:waypoint x="1810" y="115" />
<di:waypoint x="1860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_11" bpmnElement="flow_11">
<di:waypoint x="2010" y="115" />
<di:waypoint x="2060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_12" bpmnElement="flow_12">
<di:waypoint x="2210" y="115" />
<di:waypoint x="2260" y="98" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
+152
View File
@@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_C2" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="C2" name="Create a controlled value" isExecutable="false">
<bpmn:documentation>Create a controlled value | Scope: typed individual | literal | Trigger: A new value is needed in a controlled set.</bpmn:documentation>
<bpmn:startEvent id="start" name="New value needed">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="decide" name="Must it be defined, owned or extended by a domain?">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-016</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="form" name="Which form?">
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
<bpmn:outgoing>flow_4</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:scriptTask id="indiv" name="Create the typed individual and derive its label">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-001</pr:rule>
<pr:rule>TN-018</pr:rule>
<pr:rule>TN-022</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_3</bpmn:incoming>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="literal" name="Write the literal in upper snake case">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-017</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:callActivity id="shape" name="Extend the closed list in the shapes" calledElement="C3">
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:userTask id="validate" name="Validate before applying">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-004</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:incoming>flow_7</bpmn:incoming>
<bpmn:outgoing>flow_8</bpmn:outgoing>
</bpmn:userTask>
<bpmn:callActivity id="check" name="Verify against the rulebook" calledElement="R1">
<bpmn:incoming>flow_8</bpmn:incoming>
<bpmn:outgoing>flow_9</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:callActivity id="release" name="Propagate and publish" calledElement="X1">
<bpmn:incoming>flow_9</bpmn:incoming>
<bpmn:outgoing>flow_10</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:endEvent id="end" name="Value available">
<bpmn:incoming>flow_10</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="decide" />
<bpmn:sequenceFlow id="flow_2" sourceRef="decide" targetRef="form" />
<bpmn:sequenceFlow id="flow_3" name="extensible by a domain" sourceRef="form" targetRef="indiv" />
<bpmn:sequenceFlow id="flow_4" name="closed governance state" sourceRef="form" targetRef="literal" />
<bpmn:sequenceFlow id="flow_5" sourceRef="indiv" targetRef="validate" />
<bpmn:sequenceFlow id="flow_6" sourceRef="literal" targetRef="shape" />
<bpmn:sequenceFlow id="flow_7" sourceRef="shape" targetRef="validate" />
<bpmn:sequenceFlow id="flow_8" sourceRef="validate" targetRef="check" />
<bpmn:sequenceFlow id="flow_9" sourceRef="check" targetRef="release" />
<bpmn:sequenceFlow id="flow_10" sourceRef="release" targetRef="end" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_C2">
<bpmndi:BPMNPlane id="plane_C2" bpmnElement="C2">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_decide" bpmnElement="decide">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_form" bpmnElement="form">
<dc:Bounds x="460" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_indiv" bpmnElement="indiv">
<dc:Bounds x="660" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_literal" bpmnElement="literal">
<dc:Bounds x="660" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_shape" bpmnElement="shape">
<dc:Bounds x="860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_validate" bpmnElement="validate">
<dc:Bounds x="1060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_check" bpmnElement="check">
<dc:Bounds x="1260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_release" bpmnElement="release">
<dc:Bounds x="1460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_end" bpmnElement="end">
<dc:Bounds x="1660" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="460" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="810" y="115" />
<di:waypoint x="1060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="810" y="245" />
<di:waypoint x="860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="1010" y="115" />
<di:waypoint x="1060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_8" bpmnElement="flow_8">
<di:waypoint x="1210" y="115" />
<di:waypoint x="1260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_9" bpmnElement="flow_9">
<di:waypoint x="1410" y="115" />
<di:waypoint x="1460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_10" bpmnElement="flow_10">
<di:waypoint x="1610" y="115" />
<di:waypoint x="1660" y="98" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
+151
View File
@@ -0,0 +1,151 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_C3" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="C3" name="Create a shape" isExecutable="false">
<bpmn:documentation>Create a shape | Scope: Any SHACL constraint added to the validation set. | Trigger: A rule needs an executor, or a new class enters the validation perimeter.</bpmn:documentation>
<bpmn:startEvent id="start" name="Constraint needed">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="write" name="Write the constraint">
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="pattern" name="Check that every pattern is expressed positively">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-013</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="portable" name="Expressible within the specification?">
<bpmn:incoming>flow_3</bpmn:incoming>
<bpmn:outgoing>flow_4</bpmn:outgoing>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:userTask id="demote" name="Move the rule to the script tier">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-012</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="conforms" name="Align the declared ontology version">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-010</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:callActivity id="test" name="Test against real instances" calledElement="R2">
<bpmn:incoming>flow_7</bpmn:incoming>
<bpmn:outgoing>flow_8</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:userTask id="record" name="Record the shape as the executor of its rule">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-011</pr:rule>
<pr:rule>EV-012</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:incoming>flow_8</bpmn:incoming>
<bpmn:outgoing>flow_9</bpmn:outgoing>
</bpmn:userTask>
<bpmn:callActivity id="release" name="Propagate and publish" calledElement="X1">
<bpmn:incoming>flow_9</bpmn:incoming>
<bpmn:outgoing>flow_10</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:endEvent id="end" name="Shape in force">
<bpmn:incoming>flow_10</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="write" />
<bpmn:sequenceFlow id="flow_2" sourceRef="write" targetRef="pattern" />
<bpmn:sequenceFlow id="flow_3" sourceRef="pattern" targetRef="portable" />
<bpmn:sequenceFlow id="flow_4" name="yes" sourceRef="portable" targetRef="conforms" />
<bpmn:sequenceFlow id="flow_5" name="no" sourceRef="portable" targetRef="demote" />
<bpmn:sequenceFlow id="flow_6" sourceRef="demote" targetRef="record" />
<bpmn:sequenceFlow id="flow_7" sourceRef="conforms" targetRef="test" />
<bpmn:sequenceFlow id="flow_8" sourceRef="test" targetRef="record" />
<bpmn:sequenceFlow id="flow_9" sourceRef="record" targetRef="release" />
<bpmn:sequenceFlow id="flow_10" sourceRef="release" targetRef="end" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_C3">
<bpmndi:BPMNPlane id="plane_C3" bpmnElement="C3">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_write" bpmnElement="write">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_pattern" bpmnElement="pattern">
<dc:Bounds x="460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_portable" bpmnElement="portable">
<dc:Bounds x="660" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_demote" bpmnElement="demote">
<dc:Bounds x="860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_conforms" bpmnElement="conforms">
<dc:Bounds x="860" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_test" bpmnElement="test">
<dc:Bounds x="1060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_record" bpmnElement="record">
<dc:Bounds x="1260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_release" bpmnElement="release">
<dc:Bounds x="1460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_end" bpmnElement="end">
<dc:Bounds x="1660" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="610" y="115" />
<di:waypoint x="660" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="710" y="105" />
<di:waypoint x="860" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="710" y="105" />
<di:waypoint x="860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="1010" y="115" />
<di:waypoint x="1260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="1010" y="245" />
<di:waypoint x="1060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_8" bpmnElement="flow_8">
<di:waypoint x="1210" y="115" />
<di:waypoint x="1260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_9" bpmnElement="flow_9">
<di:waypoint x="1410" y="115" />
<di:waypoint x="1460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_10" bpmnElement="flow_10">
<di:waypoint x="1610" y="115" />
<di:waypoint x="1660" y="98" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
+119
View File
@@ -0,0 +1,119 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_D1" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="D1" name="Deprecate a term" isExecutable="false">
<bpmn:documentation>Deprecate a term | Scope: class | relation | attribute | annotation | individual | Trigger: A term is superseded or no longer needed.</bpmn:documentation>
<bpmn:startEvent id="start" name="Term superseded">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:userTask id="replacement" name="Identify the replacement">
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="count" name="Count the instances for information">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-015</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="mark" name="Mark deprecated and declare the replacement">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-001</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_3</bpmn:incoming>
<bpmn:outgoing>flow_4</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="strip" name="Strip the stub of every edge">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-001</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="label" name="Remove any mention of state from the label">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-020</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:callActivity id="release" name="Propagate and publish" calledElement="X1">
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:endEvent id="end" name="Term deprecated">
<bpmn:incoming>flow_7</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="replacement" />
<bpmn:sequenceFlow id="flow_2" sourceRef="replacement" targetRef="count" />
<bpmn:sequenceFlow id="flow_3" sourceRef="count" targetRef="mark" />
<bpmn:sequenceFlow id="flow_4" sourceRef="mark" targetRef="strip" />
<bpmn:sequenceFlow id="flow_5" sourceRef="strip" targetRef="label" />
<bpmn:sequenceFlow id="flow_6" sourceRef="label" targetRef="release" />
<bpmn:sequenceFlow id="flow_7" sourceRef="release" targetRef="end" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_D1">
<bpmndi:BPMNPlane id="plane_D1" bpmnElement="D1">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_replacement" bpmnElement="replacement">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_count" bpmnElement="count">
<dc:Bounds x="460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_mark" bpmnElement="mark">
<dc:Bounds x="660" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_strip" bpmnElement="strip">
<dc:Bounds x="860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_label" bpmnElement="label">
<dc:Bounds x="1060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_release" bpmnElement="release">
<dc:Bounds x="1260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_end" bpmnElement="end">
<dc:Bounds x="1460" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="610" y="115" />
<di:waypoint x="660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="810" y="115" />
<di:waypoint x="860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="1010" y="115" />
<di:waypoint x="1060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="1210" y="115" />
<di:waypoint x="1260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="1410" y="115" />
<di:waypoint x="1460" y="98" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
+152
View File
@@ -0,0 +1,152 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_D2" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="D2" name="Withdraw a term permanently" isExecutable="false">
<bpmn:documentation>Withdraw a term permanently | Scope: class | relation | attribute | annotation | individual | Trigger: A deprecated term is to be removed from the vocabulary.</bpmn:documentation>
<bpmn:startEvent id="start" name="Withdrawal requested">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:scriptTask id="count" name="Run the counting query">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-002</pr:rule>
<pr:rule>EV-015</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="instantiated" name="Any instance found?">
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
<bpmn:outgoing>flow_4</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="keep" name="Kept deprecated">
<bpmn:incoming>flow_3</bpmn:incoming>
</bpmn:endEvent>
<bpmn:scriptTask id="proof" name="Attach the proof to the commit">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-002</pr:rule>
<pr:rule>EV-015</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="remove" name="Remove the subject block">
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="refs" name="Remove every reference naming the subject">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-003</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:callActivity id="check_voc" name="Verify the vocabulary" calledElement="R1">
<bpmn:incoming>flow_7</bpmn:incoming>
<bpmn:outgoing>flow_8</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:callActivity id="check_abox" name="Validate the instances" calledElement="R2">
<bpmn:incoming>flow_8</bpmn:incoming>
<bpmn:outgoing>flow_9</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:callActivity id="release" name="Propagate and publish" calledElement="X1">
<bpmn:incoming>flow_9</bpmn:incoming>
<bpmn:outgoing>flow_10</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:endEvent id="end" name="Term withdrawn">
<bpmn:incoming>flow_10</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="count" />
<bpmn:sequenceFlow id="flow_2" sourceRef="count" targetRef="instantiated" />
<bpmn:sequenceFlow id="flow_3" name="yes" sourceRef="instantiated" targetRef="keep" />
<bpmn:sequenceFlow id="flow_4" name="no" sourceRef="instantiated" targetRef="proof" />
<bpmn:sequenceFlow id="flow_5" sourceRef="proof" targetRef="remove" />
<bpmn:sequenceFlow id="flow_6" sourceRef="remove" targetRef="refs" />
<bpmn:sequenceFlow id="flow_7" sourceRef="refs" targetRef="check_voc" />
<bpmn:sequenceFlow id="flow_8" sourceRef="check_voc" targetRef="check_abox" />
<bpmn:sequenceFlow id="flow_9" sourceRef="check_abox" targetRef="release" />
<bpmn:sequenceFlow id="flow_10" sourceRef="release" targetRef="end" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_D2">
<bpmndi:BPMNPlane id="plane_D2" bpmnElement="D2">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_count" bpmnElement="count">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_instantiated" bpmnElement="instantiated">
<dc:Bounds x="460" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_keep" bpmnElement="keep">
<dc:Bounds x="660" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_proof" bpmnElement="proof">
<dc:Bounds x="660" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_remove" bpmnElement="remove">
<dc:Bounds x="860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_refs" bpmnElement="refs">
<dc:Bounds x="1060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_check_voc" bpmnElement="check_voc">
<dc:Bounds x="1260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_check_abox" bpmnElement="check_abox">
<dc:Bounds x="1460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_release" bpmnElement="release">
<dc:Bounds x="1660" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_end" bpmnElement="end">
<dc:Bounds x="1860" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="460" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="98" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="810" y="245" />
<di:waypoint x="860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="1010" y="115" />
<di:waypoint x="1060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="1210" y="115" />
<di:waypoint x="1260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_8" bpmnElement="flow_8">
<di:waypoint x="1410" y="115" />
<di:waypoint x="1460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_9" bpmnElement="flow_9">
<di:waypoint x="1610" y="115" />
<di:waypoint x="1660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_10" bpmnElement="flow_10">
<di:waypoint x="1810" y="115" />
<di:waypoint x="1860" y="98" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
+131
View File
@@ -0,0 +1,131 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_R1" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="R1" name="Verify the vocabulary against the rulebook" isExecutable="false">
<bpmn:documentation>Verify the vocabulary against the rulebook | Scope: The whole vocabulary, or the subset touched by a change. | Trigger: A term has been created, changed or withdrawn, or a release is prepared.</bpmn:documentation>
<bpmn:startEvent id="start" name="Verification requested">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:scriptTask id="script" name="Run the naming and declaration checks">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-001</pr:rule>
<pr:rule>TN-002</pr:rule>
<pr:rule>TN-003</pr:rule>
<pr:rule>TN-004</pr:rule>
<pr:rule>TN-005</pr:rule>
<pr:rule>TN-006</pr:rule>
<pr:rule>TN-007</pr:rule>
<pr:rule>TN-009</pr:rule>
<pr:rule>TN-010</pr:rule>
<pr:rule>TN-011</pr:rule>
<pr:rule>TN-012</pr:rule>
<pr:rule>TN-013</pr:rule>
<pr:rule>TN-014</pr:rule>
<pr:rule>TN-015</pr:rule>
<pr:rule>TN-017</pr:rule>
<pr:rule>TN-018</pr:rule>
<pr:rule>TN-019</pr:rule>
<pr:rule>TN-020</pr:rule>
<pr:rule>TN-021</pr:rule>
<pr:rule>TN-023</pr:rule>
<pr:rule>TN-025</pr:rule>
<pr:rule>TN-026</pr:rule>
<pr:rule>TN-027</pr:rule>
<pr:rule>TN-028</pr:rule>
<pr:rule>EV-014</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="mechanised" name="Any mechanised violation?">
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
<bpmn:outgoing>flow_4</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="report_fail" name="Report returned with violations">
<bpmn:incoming>flow_3</bpmn:incoming>
<bpmn:incoming>flow_6</bpmn:incoming>
</bpmn:endEvent>
<bpmn:userTask id="human" name="Review the rules no script can judge">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-008</pr:rule>
<pr:rule>TN-016</pr:rule>
<pr:rule>TN-022</pr:rule>
<pr:rule>TN-024</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="judged" name="Reviewer raises an issue?">
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="report_ok" name="Vocabulary conforms">
<bpmn:incoming>flow_7</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="script" />
<bpmn:sequenceFlow id="flow_2" sourceRef="script" targetRef="mechanised" />
<bpmn:sequenceFlow id="flow_3" name="at least one" sourceRef="mechanised" targetRef="report_fail" />
<bpmn:sequenceFlow id="flow_4" name="none" sourceRef="mechanised" targetRef="human" />
<bpmn:sequenceFlow id="flow_5" sourceRef="human" targetRef="judged" />
<bpmn:sequenceFlow id="flow_6" name="yes" sourceRef="judged" targetRef="report_fail" />
<bpmn:sequenceFlow id="flow_7" name="no" sourceRef="judged" targetRef="report_ok" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_R1">
<bpmndi:BPMNPlane id="plane_R1" bpmnElement="R1">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_script" bpmnElement="script">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_mechanised" bpmnElement="mechanised">
<dc:Bounds x="460" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_report_fail" bpmnElement="report_fail">
<dc:Bounds x="1060" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_human" bpmnElement="human">
<dc:Bounds x="660" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_judged" bpmnElement="judged">
<dc:Bounds x="860" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_report_ok" bpmnElement="report_ok">
<dc:Bounds x="1060" y="210" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="460" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="510" y="105" />
<di:waypoint x="1060" y="98" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="810" y="115" />
<di:waypoint x="860" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="910" y="105" />
<di:waypoint x="1060" y="98" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="910" y="105" />
<di:waypoint x="1060" y="228" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
+104
View File
@@ -0,0 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_R2" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="R2" name="Validate instances against the shapes" isExecutable="false">
<bpmn:documentation>Validate instances against the shapes | Scope: Any instance graph in the validation perimeter. | Trigger: Instances have changed, shapes have changed, or a release is prepared.</bpmn:documentation>
<bpmn:startEvent id="start" name="Validation requested">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:scriptTask id="conforms" name="Compare the declared target version with the ontology version">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-010</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="match" name="Versions match?">
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
<bpmn:outgoing>flow_4</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="abort" name="Aborted on version mismatch">
<bpmn:incoming>flow_3</bpmn:incoming>
</bpmn:endEvent>
<bpmn:scriptTask id="run" name="Run the shape validation">
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="violations" name="Any violation?">
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="fail" name="Report returned with violations">
<bpmn:incoming>flow_6</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="ok" name="Instances conform">
<bpmn:incoming>flow_7</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="conforms" />
<bpmn:sequenceFlow id="flow_2" sourceRef="conforms" targetRef="match" />
<bpmn:sequenceFlow id="flow_3" name="no" sourceRef="match" targetRef="abort" />
<bpmn:sequenceFlow id="flow_4" name="yes" sourceRef="match" targetRef="run" />
<bpmn:sequenceFlow id="flow_5" sourceRef="run" targetRef="violations" />
<bpmn:sequenceFlow id="flow_6" name="at least one" sourceRef="violations" targetRef="fail" />
<bpmn:sequenceFlow id="flow_7" name="none" sourceRef="violations" targetRef="ok" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_R2">
<bpmndi:BPMNPlane id="plane_R2" bpmnElement="R2">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_conforms" bpmnElement="conforms">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_match" bpmnElement="match">
<dc:Bounds x="460" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_abort" bpmnElement="abort">
<dc:Bounds x="660" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_run" bpmnElement="run">
<dc:Bounds x="660" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_violations" bpmnElement="violations">
<dc:Bounds x="860" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_fail" bpmnElement="fail">
<dc:Bounds x="1060" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_ok" bpmnElement="ok">
<dc:Bounds x="1060" y="210" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="460" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="98" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="510" y="105" />
<di:waypoint x="660" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="810" y="245" />
<di:waypoint x="860" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="910" y="105" />
<di:waypoint x="1060" y="98" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="910" y="105" />
<di:waypoint x="1060" y="228" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
+121
View File
@@ -0,0 +1,121 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_R3" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="R3" name="Audit what the shapes cannot see" isExecutable="false">
<bpmn:documentation>Audit what the shapes cannot see | Scope: The whole vocabulary and its source file. | Trigger: Periodic audit, or before a version is published.</bpmn:documentation>
<bpmn:startEvent id="start" name="Audit requested">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:scriptTask id="index" name="Build the normalised label index">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-012</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="hash" name="Hash every normalised subject block">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-012</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="shortlist" name="Any candidate found?">
<bpmn:incoming>flow_3</bpmn:incoming>
<bpmn:outgoing>flow_4</bpmn:outgoing>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="clean" name="Nothing to arbitrate">
<bpmn:incoming>flow_4</bpmn:incoming>
</bpmn:endEvent>
<bpmn:userTask id="review" name="Arbitrate each candidate">
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:userTask>
<bpmn:exclusiveGateway id="act" name="Duplication confirmed?">
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
<bpmn:outgoing>flow_8</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:endEvent id="merge" name="Referred to the merge procedure">
<bpmn:incoming>flow_7</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="dismissed" name="Candidates dismissed">
<bpmn:incoming>flow_8</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="index" />
<bpmn:sequenceFlow id="flow_2" sourceRef="index" targetRef="hash" />
<bpmn:sequenceFlow id="flow_3" sourceRef="hash" targetRef="shortlist" />
<bpmn:sequenceFlow id="flow_4" name="none" sourceRef="shortlist" targetRef="clean" />
<bpmn:sequenceFlow id="flow_5" name="at least one" sourceRef="shortlist" targetRef="review" />
<bpmn:sequenceFlow id="flow_6" sourceRef="review" targetRef="act" />
<bpmn:sequenceFlow id="flow_7" name="yes" sourceRef="act" targetRef="merge" />
<bpmn:sequenceFlow id="flow_8" name="no" sourceRef="act" targetRef="dismissed" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_R3">
<bpmndi:BPMNPlane id="plane_R3" bpmnElement="R3">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_index" bpmnElement="index">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_hash" bpmnElement="hash">
<dc:Bounds x="460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_shortlist" bpmnElement="shortlist">
<dc:Bounds x="660" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_clean" bpmnElement="clean">
<dc:Bounds x="860" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_review" bpmnElement="review">
<dc:Bounds x="860" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_act" bpmnElement="act">
<dc:Bounds x="1060" y="80" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_merge" bpmnElement="merge">
<dc:Bounds x="1260" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_dismissed" bpmnElement="dismissed">
<dc:Bounds x="1260" y="210" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="610" y="115" />
<di:waypoint x="660" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="710" y="105" />
<di:waypoint x="860" y="98" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="710" y="105" />
<di:waypoint x="860" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="1010" y="245" />
<di:waypoint x="1060" y="105" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="1110" y="105" />
<di:waypoint x="1260" y="98" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_8" bpmnElement="flow_8">
<di:waypoint x="1110" y="105" />
<di:waypoint x="1260" y="228" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>
+326
View File
@@ -0,0 +1,326 @@
<?xml version="1.0" encoding="UTF-8"?>
<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" xmlns:pr="https://ontology.pernod-ricard.com/process/" id="defs_X1" targetNamespace="https://ontology.pernod-ricard.com/process/" exporter="generate_bpmn.py">
<bpmn:process id="X1" name="Propagate a change and publish a version" isExecutable="false">
<bpmn:documentation>Propagate a change and publish a version | Scope: Any validated modification of the vocabulary. | Trigger: A change to the vocabulary has been agreed and is ready to apply.</bpmn:documentation>
<bpmn:startEvent id="start" name="Change agreed">
<bpmn:outgoing>flow_1</bpmn:outgoing>
</bpmn:startEvent>
<bpmn:scriptTask id="branch" name="Create the migration branch">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-009</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_1</bpmn:incoming>
<bpmn:outgoing>flow_2</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="apply" name="Apply the change through an RDF parser">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-005</pr:rule>
<pr:rule>EV-006</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_2</bpmn:incoming>
<bpmn:incoming>flow_16</bpmn:incoming>
<bpmn:outgoing>flow_3</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="labels" name="Regenerate labels by derivation">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>TN-023</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_3</bpmn:incoming>
<bpmn:outgoing>flow_4</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="abox" name="Propagate to the instances">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-009</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_4</bpmn:incoming>
<bpmn:outgoing>flow_5</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="shapes" name="Update the shapes and align conformsTo">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-010</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_5</bpmn:incoming>
<bpmn:outgoing>flow_6</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="artifacts" name="Regenerate every derived artifact">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-008</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_6</bpmn:incoming>
<bpmn:outgoing>flow_7</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="replay" name="Replay the chain a second time">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-006</pr:rule>
<pr:rule>EV-007</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_7</bpmn:incoming>
<bpmn:outgoing>flow_8</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="idem" name="Second run reports zero change?">
<bpmn:incoming>flow_8</bpmn:incoming>
<bpmn:outgoing>flow_9</bpmn:outgoing>
<bpmn:outgoing>flow_10</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:callActivity id="verify_voc" name="Verify the vocabulary" calledElement="R1">
<bpmn:incoming>flow_9</bpmn:incoming>
<bpmn:outgoing>flow_11</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:callActivity id="verify_abox" name="Validate the instances" calledElement="R2">
<bpmn:incoming>flow_11</bpmn:incoming>
<bpmn:outgoing>flow_12</bpmn:outgoing>
</bpmn:callActivity>
<bpmn:scriptTask id="log" name="Write the execution log for this attempt">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-015</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_12</bpmn:incoming>
<bpmn:outgoing>flow_13</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:exclusiveGateway id="clean" name="Any violation?">
<bpmn:incoming>flow_13</bpmn:incoming>
<bpmn:outgoing>flow_14</bpmn:outgoing>
<bpmn:outgoing>flow_15</bpmn:outgoing>
</bpmn:exclusiveGateway>
<bpmn:userTask id="decide" name="Correct or abandon">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-004</pr:rule>
<pr:rule>EV-007</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_10</bpmn:incoming>
<bpmn:incoming>flow_15</bpmn:incoming>
<bpmn:outgoing>flow_16</bpmn:outgoing>
<bpmn:outgoing>flow_17</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="drop" name="Destroy the branch and restart from the published version">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-007</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_17</bpmn:incoming>
<bpmn:outgoing>flow_18</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:userTask id="review" name="Review the merge">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-004</pr:rule>
<pr:rule>EV-009</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_14</bpmn:incoming>
<bpmn:outgoing>flow_19</bpmn:outgoing>
</bpmn:userTask>
<bpmn:scriptTask id="merge" name="Merge as a block">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-009</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_19</bpmn:incoming>
<bpmn:outgoing>flow_20</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:scriptTask id="bump" name="Increment the ontology version">
<bpmn:extensionElements>
<pr:rules>
<pr:rule>EV-014</pr:rule>
</pr:rules>
</bpmn:extensionElements>
<bpmn:incoming>flow_20</bpmn:incoming>
<bpmn:outgoing>flow_21</bpmn:outgoing>
</bpmn:scriptTask>
<bpmn:endEvent id="end" name="Version published">
<bpmn:incoming>flow_21</bpmn:incoming>
</bpmn:endEvent>
<bpmn:endEvent id="aborted" name="Change abandoned">
<bpmn:incoming>flow_18</bpmn:incoming>
</bpmn:endEvent>
<bpmn:sequenceFlow id="flow_1" sourceRef="start" targetRef="branch" />
<bpmn:sequenceFlow id="flow_2" sourceRef="branch" targetRef="apply" />
<bpmn:sequenceFlow id="flow_3" sourceRef="apply" targetRef="labels" />
<bpmn:sequenceFlow id="flow_4" sourceRef="labels" targetRef="abox" />
<bpmn:sequenceFlow id="flow_5" sourceRef="abox" targetRef="shapes" />
<bpmn:sequenceFlow id="flow_6" sourceRef="shapes" targetRef="artifacts" />
<bpmn:sequenceFlow id="flow_7" sourceRef="artifacts" targetRef="replay" />
<bpmn:sequenceFlow id="flow_8" sourceRef="replay" targetRef="idem" />
<bpmn:sequenceFlow id="flow_9" name="zero change" sourceRef="idem" targetRef="verify_voc" />
<bpmn:sequenceFlow id="flow_10" name="the chain is not replayable" sourceRef="idem" targetRef="decide" />
<bpmn:sequenceFlow id="flow_11" sourceRef="verify_voc" targetRef="verify_abox" />
<bpmn:sequenceFlow id="flow_12" sourceRef="verify_abox" targetRef="log" />
<bpmn:sequenceFlow id="flow_13" sourceRef="log" targetRef="clean" />
<bpmn:sequenceFlow id="flow_14" name="none" sourceRef="clean" targetRef="review" />
<bpmn:sequenceFlow id="flow_15" name="at least one" sourceRef="clean" targetRef="decide" />
<bpmn:sequenceFlow id="flow_16" name="correct" sourceRef="decide" targetRef="apply" />
<bpmn:sequenceFlow id="flow_17" name="abandon" sourceRef="decide" targetRef="drop" />
<bpmn:sequenceFlow id="flow_18" sourceRef="drop" targetRef="aborted" />
<bpmn:sequenceFlow id="flow_19" sourceRef="review" targetRef="merge" />
<bpmn:sequenceFlow id="flow_20" sourceRef="merge" targetRef="bump" />
<bpmn:sequenceFlow id="flow_21" sourceRef="bump" targetRef="end" />
</bpmn:process>
<bpmndi:BPMNDiagram id="diagram_X1">
<bpmndi:BPMNPlane id="plane_X1" bpmnElement="X1">
<bpmndi:BPMNShape id="shape_start" bpmnElement="start">
<dc:Bounds x="60" y="80" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_branch" bpmnElement="branch">
<dc:Bounds x="260" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_apply" bpmnElement="apply">
<dc:Bounds x="11660" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_labels" bpmnElement="labels">
<dc:Bounds x="11860" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_abox" bpmnElement="abox">
<dc:Bounds x="12060" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_shapes" bpmnElement="shapes">
<dc:Bounds x="11460" y="80" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_artifacts" bpmnElement="artifacts">
<dc:Bounds x="11660" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_replay" bpmnElement="replay">
<dc:Bounds x="11860" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_idem" bpmnElement="idem">
<dc:Bounds x="12060" y="210" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_verify_voc" bpmnElement="verify_voc">
<dc:Bounds x="11460" y="210" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_verify_abox" bpmnElement="verify_abox">
<dc:Bounds x="11660" y="340" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_log" bpmnElement="log">
<dc:Bounds x="11860" y="340" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_clean" bpmnElement="clean">
<dc:Bounds x="12060" y="340" width="50" height="50" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_decide" bpmnElement="decide">
<dc:Bounds x="11460" y="340" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_drop" bpmnElement="drop">
<dc:Bounds x="11660" y="470" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_review" bpmnElement="review">
<dc:Bounds x="11460" y="470" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_merge" bpmnElement="merge">
<dc:Bounds x="11660" y="600" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_bump" bpmnElement="bump">
<dc:Bounds x="11860" y="470" width="150" height="70" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_end" bpmnElement="end">
<dc:Bounds x="12060" y="470" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNShape id="shape_aborted" bpmnElement="aborted">
<dc:Bounds x="11860" y="600" width="36" height="36" />
</bpmndi:BPMNShape>
<bpmndi:BPMNEdge id="edge_flow_1" bpmnElement="flow_1">
<di:waypoint x="96" y="98" />
<di:waypoint x="260" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_2" bpmnElement="flow_2">
<di:waypoint x="410" y="115" />
<di:waypoint x="11660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_3" bpmnElement="flow_3">
<di:waypoint x="11810" y="115" />
<di:waypoint x="11860" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_4" bpmnElement="flow_4">
<di:waypoint x="12010" y="115" />
<di:waypoint x="12060" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_5" bpmnElement="flow_5">
<di:waypoint x="12210" y="115" />
<di:waypoint x="11460" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_6" bpmnElement="flow_6">
<di:waypoint x="11610" y="115" />
<di:waypoint x="11660" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_7" bpmnElement="flow_7">
<di:waypoint x="11810" y="245" />
<di:waypoint x="11860" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_8" bpmnElement="flow_8">
<di:waypoint x="12010" y="245" />
<di:waypoint x="12060" y="235" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_9" bpmnElement="flow_9">
<di:waypoint x="12110" y="235" />
<di:waypoint x="11460" y="245" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_10" bpmnElement="flow_10">
<di:waypoint x="12110" y="235" />
<di:waypoint x="11460" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_11" bpmnElement="flow_11">
<di:waypoint x="11610" y="245" />
<di:waypoint x="11660" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_12" bpmnElement="flow_12">
<di:waypoint x="11810" y="375" />
<di:waypoint x="11860" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_13" bpmnElement="flow_13">
<di:waypoint x="12010" y="375" />
<di:waypoint x="12060" y="365" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_14" bpmnElement="flow_14">
<di:waypoint x="12110" y="365" />
<di:waypoint x="11460" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_15" bpmnElement="flow_15">
<di:waypoint x="12110" y="365" />
<di:waypoint x="11460" y="375" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_16" bpmnElement="flow_16">
<di:waypoint x="11610" y="375" />
<di:waypoint x="11660" y="115" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_17" bpmnElement="flow_17">
<di:waypoint x="11610" y="375" />
<di:waypoint x="11660" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_18" bpmnElement="flow_18">
<di:waypoint x="11810" y="505" />
<di:waypoint x="11860" y="618" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_19" bpmnElement="flow_19">
<di:waypoint x="11610" y="505" />
<di:waypoint x="11660" y="635" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_20" bpmnElement="flow_20">
<di:waypoint x="11810" y="635" />
<di:waypoint x="11860" y="505" />
</bpmndi:BPMNEdge>
<bpmndi:BPMNEdge id="edge_flow_21" bpmnElement="flow_21">
<di:waypoint x="12010" y="505" />
<di:waypoint x="12060" y="488" />
</bpmndi:BPMNEdge>
</bpmndi:BPMNPlane>
</bpmndi:BPMNDiagram>
</bpmn:definitions>