RuleBasedScheduling#

Fully qualified class name of the UML model DDI-CDI 1.0: DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling

Definition#

Rule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.

Examples#

One real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing.

Explanatory notes#

Rule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of “forwardChaining” and “backwardChaining”.

Diagram#

Diagram

Inheritance#

Inheritance
    ᐊ── Process::RuleBasedScheduling

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

schedulingType

- own class -

Indicated if rule-based scheduling is forward-chaining or backward-chaining.

SchedulingStrategy

1..1

description

Process::ControlLogic

A description of the control logic in human-readable language.

String

0..1

displayLabel

Process::ControlLogic

A human-readable display label for the object. Supports the use of multiple languages. Repeat for labels with different content, for example, labels with differing length limitations.

LabelForDisplay

0..*

identifier

Process::ControlLogic

Identifier for objects requiring short- or long-lasting referencing and management.

Identifier

0..1

name

Process::ControlLogic

Human understandable name (linguistic signifier, word, phrase, or mnemonic). May follow ISO/IEC 11179-5 naming principles, and have context provided to specify usage.

ObjectName

0..*

workflow

Process::ControlLogic

Reference to the system or standard from which the workflow was taken.

ControlledVocabularyEntry

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of RuleBasedScheduling

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

Activity hasInternal ControlLogic

An activity is embedded in the control construct which launches it.

0..*

- own package -

Activity

0..*

none

Process::ControlLogic

from

ControlLogic has InformationFlowDefinition

A control construct has zero or more information flow definitions each of which provides the control construct with zero or more input and output parameters used or produced in the step/sub-step with which it is associated.

0..*

- own package -

InformationFlowDefinition

0..*

shared

Process::ControlLogic

to

ControlLogic hasSubControlLogic ControlLogic

Control logic is a container of control logic which is in turn a container of control logic ad infinitum so that it is able to represent the structure of a program.

0..*

- own package -

ControlLogic

0..1

none

Process::ControlLogic

from

ControlLogic informs ProcessingAgent

Control logic informs a processing agent. The information may be deterministic or non-deterministic.

0..*

- own package -

ProcessingAgent

0..*

none

Process::ControlLogic

from

ControlLogic invokes Activity

Control logic invokes an activity deterministically (either conditionally or unconditionally) or non-derministically (based on temporal constraints or rule-based scheduling).

0..*

- own package -

Activity

1..*

none

Process::ControlLogic

from

RuleBasedScheduling has Curator

Rule based scheduling has one or more curators. The curators may be commercial/off-the-shelf, open source and/or home grown. They are likely to be domain-specific which is why rule based scheduling might employ many.

0..1

- own package -

Curator

0..*

composite

own class

from

RuleBasedScheduling has RuleSet

Rule sets are a component of rule based scheduling.

0..1

- own package -

RuleSet

0..*

composite

own class

Encodings#

Syntax representations / encodings

All syntax representations except the Canonical XMI are provided as reference points for specific implementations, or for use as defaults if sufficient in the form presented.

Fragment for the class RuleBasedScheduling (entire model as XMI)

 1<packagedElement xmlns:StandardProfile="http://www.omg.org/spec/UML/20131001/StandardProfile"
 2                  xmlns:uml="http://www.omg.org/spec/UML/20131001"
 3                  xmlns:xmi="http://www.omg.org/spec/XMI/20131001"
 4                  xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling"/>
11      <body>Definition 
12============ 
13Rule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.
14
15Examples 
16========== 
17One real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing. 
18
19Explanatory notes 
20=================== 
21Rule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of "forwardChaining" and "backwardChaining".</body>
22   </ownedComment>
23   <name>RuleBasedScheduling</name>
24   <generalization xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-generalization"
25                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-generalization"
26                    xmi:type="uml:Generalization">
27      <general xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-NonDeterministicDeclarative"/>
28   </generalization>
29   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_1"
30                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_1"
31                    xmi:type="uml:Property">
32      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_1-lowerValue"
33                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_1-lowerValue"
34                   xmi:type="uml:LiteralInteger"/>
35      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_1-upperValue"
36                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_1-upperValue"
37                   xmi:type="uml:LiteralUnlimitedNatural">
38         <value>*</value>
39      </upperValue>
40      <aggregation>composite</aggregation>
41      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling_has_RuleSet"/>
42      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet"/>
43   </ownedAttribute>
44   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_2"
45                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_2"
46                    xmi:type="uml:Property">
47      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_2-lowerValue"
48                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_2-lowerValue"
49                   xmi:type="uml:LiteralInteger"/>
50      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-ownedAttribute_2-upperValue"
51                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-ownedAttribute_2-upperValue"
52                   xmi:type="uml:LiteralUnlimitedNatural">
53         <value>*</value>
54      </upperValue>
55      <aggregation>composite</aggregation>
56      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling_has_Curator"/>
57      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Curator"/>
58   </ownedAttribute>
59   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType"
60                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-schedulingType"
61                    xmi:type="uml:Property">
62      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType-ownedComment"
63                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-schedulingType-ownedComment"
64                     xmi:type="uml:Comment">
65         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType"/>
66         <body>Indicated if rule-based scheduling is forward-chaining or backward-chaining.</body>
67      </ownedComment>
68      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType-lowerValue"
69                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-schedulingType-lowerValue"
70                   xmi:type="uml:LiteralInteger">
71         <value>1</value>
72      </lowerValue>
73      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleBasedScheduling-schedulingType-upperValue"
74                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleBasedScheduling-schedulingType-upperValue"
75                   xmi:type="uml:LiteralUnlimitedNatural">
76         <value>1</value>
77      </upperValue>
78      <name>schedulingType</name>
79      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-Enumerations-SchedulingStrategy"/>
80   </ownedAttribute>
81</packagedElement>

Fragment for the class RuleBasedScheduling (entire XML Schema)

  1<xs:element name="RuleBasedScheduling"
  2            type="RuleBasedSchedulingXsdType"
  3            xml:id="RuleBasedScheduling">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling -->
  5  <xs:annotation>
  6    <xs:documentation>Definition 
  7          ============ 
  8          Rule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.
  9          
 10          Examples 
 11          ========== 
 12          One real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing. 
 13          
 14          Explanatory notes 
 15          =================== 
 16          Rule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of "forwardChaining" and "backwardChaining".</xs:documentation>
 17  </xs:annotation>
 18</xs:element>
 19<xs:complexType name="RuleBasedSchedulingXsdType"
 20                xml:id="RuleBasedSchedulingXsdType">
 21  <xs:annotation>
 22    <xs:documentation>Definition 
 23          ============ 
 24          Rule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.
 25          
 26          Examples 
 27          ========== 
 28          One real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing. 
 29          
 30          Explanatory notes 
 31          =================== 
 32          Rule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of "forwardChaining" and "backwardChaining".</xs:documentation>
 33  </xs:annotation>
 34  <xs:complexContent>
 35    <xs:extension base="NonDeterministicDeclarativeXsdType">
 36      <xs:sequence>
 37        <xs:element name="schedulingType"
 38                    type="SchedulingStrategyXsdType"
 39                    minOccurs="1"
 40                    maxOccurs="1"
 41                    xml:id="RuleBasedScheduling-schedulingType">
 42          <xs:annotation>
 43            <xs:documentation>Indicated if rule-based scheduling is forward-chaining or backward-chaining.</xs:documentation>
 44          </xs:annotation>
 45        </xs:element>
 46        <xs:element name="RuleBasedScheduling_has_RuleSet"
 47                    minOccurs="0"
 48                    maxOccurs="unbounded"
 49                    xml:id="RuleBasedScheduling_has_RuleSet">
 50          <xs:annotation>
 51            <xs:documentation>Rule sets are a component of rule based scheduling.</xs:documentation>
 52          </xs:annotation>
 53          <xs:complexType>
 54            <xs:complexContent>
 55              <xs:restriction base="AssociationReferenceXsdType">
 56                <xs:sequence>
 57                  <xs:element name="ddiReference"
 58                              type="InternationalRegistrationDataIdentifierXsdType"
 59                              minOccurs="0"
 60                              maxOccurs="1"
 61                              xml:id="RuleBasedScheduling_has_RuleSet-ddiReference"/>
 62                  <xs:element name="validType"
 63                              minOccurs="0"
 64                              maxOccurs="1"
 65                              xml:id="RuleBasedScheduling_has_RuleSet-validType">
 66                    <xs:simpleType>
 67                      <xs:restriction base="xs:NMTOKEN">
 68                        <xs:enumeration value="RuleSet"/>
 69                      </xs:restriction>
 70                    </xs:simpleType>
 71                  </xs:element>
 72                </xs:sequence>
 73              </xs:restriction>
 74            </xs:complexContent>
 75          </xs:complexType>
 76        </xs:element>
 77        <xs:element name="RuleBasedScheduling_has_Curator"
 78                    minOccurs="0"
 79                    maxOccurs="unbounded"
 80                    xml:id="RuleBasedScheduling_has_Curator">
 81          <xs:annotation>
 82            <xs:documentation>Rule based scheduling has one or more curators. The curators may be commercial/off-the-shelf, open source and/or home grown. They are likely to be domain-specific which is why rule based scheduling might employ many.</xs:documentation>
 83          </xs:annotation>
 84          <xs:complexType>
 85            <xs:complexContent>
 86              <xs:restriction base="AssociationReferenceXsdType">
 87                <xs:sequence>
 88                  <xs:element name="ddiReference"
 89                              type="InternationalRegistrationDataIdentifierXsdType"
 90                              minOccurs="0"
 91                              maxOccurs="1"
 92                              xml:id="RuleBasedScheduling_has_Curator-ddiReference"/>
 93                  <xs:element name="validType"
 94                              minOccurs="0"
 95                              maxOccurs="1"
 96                              xml:id="RuleBasedScheduling_has_Curator-validType">
 97                    <xs:simpleType>
 98                      <xs:restriction base="xs:NMTOKEN">
 99                        <xs:enumeration value="Curator"/>
100                      </xs:restriction>
101                    </xs:simpleType>
102                  </xs:element>
103                </xs:sequence>
104              </xs:restriction>
105            </xs:complexContent>
106          </xs:complexType>
107        </xs:element>
108      </xs:sequence>
109    </xs:extension>
110  </xs:complexContent>
111</xs:complexType>

Fragment for the class RuleBasedScheduling (entire JSON Schema)

  1"cls-RuleBasedScheduling": {
  2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RuleBasedScheduling",
  3  "type": "object",
  4  "properties": {
  5    "@context": {
  6      "$ref": "#/defs/at-context"
  7    },
  8    "@id": {
  9      "type": "string",
 10      "format": "iri-reference"
 11    },
 12    "@type": {
 13      "const": "RuleBasedScheduling"
 14    },
 15    "schedulingType": {
 16      "$comment": "cardinality 1..1 – from cdi:RuleBasedScheduling",
 17      "$ref": "#/defs/enum-SchedulingStrategy"
 18    },
 19    "description": {
 20      "$comment": "cardinality 0..1 – from cdi:ControlLogic",
 21      "$ref": "#/defs/xsd:string"
 22    },
 23    "displayLabel": {
 24      "$comment": "cardinality 0..-1 – from cdi:ControlLogic",
 25      "if": { "type": "array" },
 26      "then": { "items": { "$ref": "#/defs/dt-LabelForDisplay" } },
 27      "else": { "$ref": "#/defs/dt-LabelForDisplay" }
 28    },
 29    "identifier": {
 30      "$comment": "cardinality 0..1 – from cdi:ControlLogic",
 31      "$ref": "#/defs/dt-Identifier"
 32    },
 33    "name": {
 34      "$comment": "cardinality 0..-1 – from cdi:ControlLogic",
 35      "if": { "type": "array" },
 36      "then": { "items": { "$ref": "#/defs/dt-ObjectName" } },
 37      "else": { "$ref": "#/defs/dt-ObjectName" }
 38    },
 39    "workflow": {
 40      "$comment": "cardinality 0..1 – from cdi:ControlLogic",
 41      "$ref": "#/defs/dt-ControlledVocabularyEntry"
 42    },
 43    "has_Curator": {
 44      "description": "RuleBasedScheduling_has_Curator",
 45      "$comment": "cardinality 0..-1",
 46      "anyOf": [
 47        {
 48          "$ref": "#/defs/target-Curator"
 49        },
 50        {
 51          "type": "array",
 52          "items": {
 53            "$ref": "#/defs/target-Curator"
 54          }
 55        }
 56      ]
 57    },
 58    "has_RuleSet": {
 59      "description": "RuleBasedScheduling_has_RuleSet",
 60      "$comment": "cardinality 0..-1",
 61      "anyOf": [
 62        {
 63          "$ref": "#/defs/target-RuleSet"
 64        },
 65        {
 66          "type": "array",
 67          "items": {
 68            "$ref": "#/defs/target-RuleSet"
 69          }
 70        }
 71      ]
 72    },
 73    "has_InformationFlowDefinition": {
 74      "description": "ControlLogic_has_InformationFlowDefinition",
 75      "$comment": "cardinality 0..-1",
 76      "anyOf": [
 77        {
 78          "$ref": "#/defs/target-InformationFlowDefinition"
 79        },
 80        {
 81          "type": "array",
 82          "items": {
 83            "$ref": "#/defs/target-InformationFlowDefinition"
 84          }
 85        }
 86      ]
 87    },
 88    "hasSubControlLogic": {
 89      "description": "ControlLogic_hasSubControlLogic_ControlLogic",
 90      "$comment": "cardinality 0..-1",
 91      "anyOf": [
 92        {
 93          "$ref": "#/defs/target-ControlLogic"
 94        },
 95        {
 96          "type": "array",
 97          "items": {
 98            "$ref": "#/defs/target-ControlLogic"
 99          }
100        }
101      ]
102    },
103    "informs": {
104      "description": "ControlLogic_informs_ProcessingAgent",
105      "$comment": "cardinality 0..-1",
106      "anyOf": [
107        {
108          "$ref": "#/defs/target-ProcessingAgent"
109        },
110        {
111          "type": "array",
112          "items": {
113            "$ref": "#/defs/target-ProcessingAgent"
114          }
115        }
116      ]
117    },
118    "invokes": {
119      "description": "ControlLogic_invokes_Activity",
120      "$comment": "cardinality 1..-1",
121      "anyOf": [
122        {
123          "$ref": "#/defs/target-Activity"
124        },
125        {
126          "type": "array",
127          "items": {
128            "$ref": "#/defs/target-Activity"
129          }
130        }
131      ]
132    },
133    "hasInternal_OF_Activity": {
134      "description": "Activity_hasInternal_ControlLogic",
135      "$comment": "cardinality 0..-1",
136      "anyOf": [
137        {
138          "$ref": "#/defs/target-Activity"
139        },
140        {
141          "type": "array",
142          "items": {
143            "$ref": "#/defs/target-Activity"
144          }
145        }
146      ]
147    },
148    "hasSubControlLogic_OF_ControlLogic": {
149      "description": "ControlLogic_hasSubControlLogic_ControlLogic",
150      "$comment": "cardinality 0..1",
151      "$ref": "#/defs/target-ControlLogic"
152    },
153    "sameAs": {
154      "$ref": "#/defs/owl:sameAs"
155    }
156  },
157  "required": ["schedulingType","invokes","@type"],
158  "additionalProperties": false
159},
160"target-RuleBasedScheduling": {
161  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RuleBasedScheduling",
162  "anyOf": [
163    { "$ref": "#/defs/cls-RuleBasedScheduling" },
164    { "type": "string", "format": "iri-reference" }
165  ]
166},

Fragment for the class RuleBasedScheduling (main ontology)

 1# class RuleBasedScheduling
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling
 3cdi:RuleBasedScheduling
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "RuleBasedScheduling";
 6  rdfs:comment "Definition \n============ \nRule based scheduling performs a fact check on rules from the rule set, testing their condition part against the facts in the research data store. Fact checking may be assisted by a curator who can semantically compare the condition part of each candidate rule with the facts. The fact checker returns the next activity which rule based scheduling performs according to the following function: factcheck (RuleSet, ResearchDataStore, Curator): Activity.\n\nExamples \n========== \nOne real-life situation in which rule-based scheduling is performed involves data virtualization. Here the research datastore has a catalog of views available for use. Rule based scheduling might explore the catalog to determine the rule(s) in the rule set that currently apply. A software curator might assist in the decision in case there was no exact match between a rule and its condition(s) and given the current state of the research datastore. The curator typically uses natural language processing. \n\nExplanatory notes \n=================== \nRule based scheduling is guided by its scheduling strategy. This is described by an enumeration that consists of \"forwardChaining\" and \"backwardChaining\"."@en;
 7  rdfs:subClassOf cdi:NonDeterministicDeclarative;
 8.
 9
10cdi:RuleBasedScheduling-schedulingType
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "schedulingType";
13  rdfs:comment "Indicated if rule-based scheduling is forward-chaining or backward-chaining."@en;
14  rdfs:domain cdi:RuleBasedScheduling;
15  rdfs:range cdi:SchedulingStrategy;
16.
17
18
19cdi:RuleBasedScheduling_has_Curator
20  a rdf:Property, owl:ObjectProperty, ucmis:Association;
21  # ASSOCIATION
22  rdfs:label "has_Curator";
23  skos:altLabel "RuleBasedScheduling_has_Curator";
24  rdfs:comment "Rule based scheduling has one or more curators. The curators may be commercial/off-the-shelf, open source and/or home grown. They are likely to be domain-specific which is why rule based scheduling might employ many."@en;
25  rdfs:domain cdi:RuleBasedScheduling;
26  rdfs:range cdi:Curator;
27.
28
29cdi:RuleBasedScheduling_has_RuleSet
30  a rdf:Property, owl:ObjectProperty, ucmis:Association;
31  # ASSOCIATION
32  rdfs:label "has_RuleSet";
33  skos:altLabel "RuleBasedScheduling_has_RuleSet";
34  rdfs:comment "Rule sets are a component of rule based scheduling."@en;
35  rdfs:domain cdi:RuleBasedScheduling;
36  rdfs:range cdi:RuleSet;
37.

Fragment for the class RuleBasedScheduling (entire JSON-LD)

 1{
 2  "@context": [
 3    "NonDeterministicDeclarative.jsonld",
 4    {
 5      "cdi": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/",
 6      "xsd": "http://www.w3.org/2001/XMLSchema#",
 7
 8      "schedulingType": {
 9        "@id": "cdi:RuleBasedScheduling-schedulingType",
10        "@type": "@vocab",
11        "@context": {
12          "BackwardChaining": "cdi:BackwardChaining"
13      ,    "ForwardChaining": "cdi:ForwardChaining"
14        }
15      },
16      
17      "has_Curator": {
18        "@id": "cdi:RuleBasedScheduling_has_Curator",
19        "@type": "@id",
20        "@context": "Curator.jsonld"
21      },
22      "has_RuleSet": {
23        "@id": "cdi:RuleBasedScheduling_has_RuleSet",
24        "@type": "@id",
25        "@context": "RuleSet.jsonld"
26      },
27      " comment ": "tag:json-should-support-trailing-commas"
28    }
29  ],
30  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:54.",
31  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling"
32}

Fragment for the class RuleBasedScheduling (entire SHACL - Shapes Constraint Language)

 1# class RuleBasedScheduling
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling
 3<#RuleBasedScheduling> a sh:NodeShape;
 4    sh:targetClass cdi:RuleBasedScheduling;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RuleBasedScheduling";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:RuleBasedScheduling
11			 ) ;
12    ];
13    # attributes
14    sh:property <#RuleBasedScheduling-schedulingType>;
15    # associations from RuleBasedScheduling
16    sh:property <#RuleBasedScheduling_has_Curator>;
17    sh:property <#RuleBasedScheduling_has_RuleSet>;
18    # associations to RuleBasedScheduling
19
20    # ---- superclass: NonDeterministicDeclarative
21    # attributes
22    # associations from NonDeterministicDeclarative
23    # associations to NonDeterministicDeclarative
24
25    # ---- superclass: ControlLogic
26    # attributes
27    sh:property <#ControlLogic-description>;
28    sh:property <#ControlLogic-displayLabel>;
29    sh:property <#ControlLogic-identifier>;
30    sh:property <#ControlLogic-name>;
31    sh:property <#ControlLogic-workflow>;
32    # associations from ControlLogic
33    sh:property <#ControlLogic_has_InformationFlowDefinition>;
34    sh:property <#ControlLogic_hasSubControlLogic_ControlLogic>;
35    sh:property <#ControlLogic_informs_ProcessingAgent>;
36    sh:property <#ControlLogic_invokes_Activity>;
37    # associations to ControlLogic
38    sh:property <#rev_Activity_hasInternal_ControlLogic>;
39    sh:property <#rev_ControlLogic_hasSubControlLogic_ControlLogic>;
40
41
42
43
44
45
46
47.
48
49<#RuleBasedScheduling-schedulingType> a sh:PropertyShape ;
50    sh:path cdi:RuleBasedScheduling-schedulingType;
51    sh:node <#SchedulingStrategy>
52    ;
53    sh:minCount 1;
54    sh:maxCount 1;
55.
56
57<#RuleBasedScheduling_has_Curator> a sh:PropertyShape ;
58    sh:path cdi:RuleBasedScheduling_has_Curator;
59	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
60        cdi:Curator
61      
62    ) ]];
63.
64<#rev_RuleBasedScheduling_has_Curator> a sh:PropertyShape ;
65    sh:path [ sh:inversePath cdi:RuleBasedScheduling_has_Curator ];
66    sh:maxCount 1;
67.
68<#RuleBasedScheduling_has_RuleSet> a sh:PropertyShape ;
69    sh:path cdi:RuleBasedScheduling_has_RuleSet;
70	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
71        cdi:RuleSet
72      
73    ) ]];
74.
75<#rev_RuleBasedScheduling_has_RuleSet> a sh:PropertyShape ;
76    sh:path [ sh:inversePath cdi:RuleBasedScheduling_has_RuleSet ];
77    sh:maxCount 1;
78.

Fragment for the class RuleBasedScheduling (entire ShEx - Shape Expressions)

 1# class RuleBasedScheduling
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleBasedScheduling
 3cdi:RuleBasedSchedulingShape CLOSED {
 4	a [cdi:RuleBasedScheduling];
 5	cdi:RuleBasedScheduling-schedulingType	@cdi:SchedulingStrategyShape;
 6	cdi:RuleBasedScheduling_has_Curator	@cdi:CuratorShape *;
 7	
 8	cdi:RuleBasedScheduling_has_RuleSet	@cdi:RuleSetShape *;
 9	
10		&cdi:NonDeterministicDeclarativeProperties;
11	}