RuleSet#

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

Definition#

A rule set is a collection of rules. A rule set is a component of rule based scheduling.

Examples#

If [A overlaps B] Then [X] If [B occurs before C] Then [Y] If [C equals D] Then [Z] It might take a curator to understand what these rules mean in the context of a research data store.

Explanatory notes#

Rule based scheduling might have multiple rule sets each of which are domain-specific. The processing agent often helps with the selection of rule sets.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

identifier

- own class -

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

Identifier

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of RuleSet

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

RuleBasedScheduling has RuleSet

Rule sets are a component of rule based scheduling.

0..*

- own package -

RuleBasedScheduling

0..1

none

own class

from

RuleSet has Rule

A rule is a member of a rule set.

0..1

- own package -

Rule

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 RuleSet (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-RuleSet"
 5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-ownedComment"
 8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet"/>
11      <body>Definition 
12============ 
13A rule set is a collection of rules. A rule set is a component of rule based scheduling.  
14
15Examples 
16========== 
17If [A overlaps B] Then [X] If [B occurs before C] Then [Y] If [C equals D] Then [Z]  It might take a curator to understand what these rules mean in the context of a research data store.
18
19Explanatory notes 
20=================== 
21Rule based scheduling might have multiple rule sets each of which are domain-specific. The processing agent often helps with the selection of rule sets.</body>
22   </ownedComment>
23   <name>RuleSet</name>
24   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-identifier"
25                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet-identifier"
26                    xmi:type="uml:Property">
27      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-identifier-ownedComment"
28                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet-identifier-ownedComment"
29                     xmi:type="uml:Comment">
30         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-identifier"/>
31         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
32      </ownedComment>
33      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-identifier-lowerValue"
34                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet-identifier-lowerValue"
35                   xmi:type="uml:LiteralInteger"/>
36      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-identifier-upperValue"
37                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet-identifier-upperValue"
38                   xmi:type="uml:LiteralUnlimitedNatural">
39         <value>1</value>
40      </upperValue>
41      <name>identifier</name>
42      <isID>true</isID>
43      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
44   </ownedAttribute>
45   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-ownedAttribute"
46                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet-ownedAttribute"
47                    xmi:type="uml:Property">
48      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-ownedAttribute-lowerValue"
49                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet-ownedAttribute-lowerValue"
50                   xmi:type="uml:LiteralInteger"/>
51      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet-ownedAttribute-upperValue"
52                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#RuleSet-ownedAttribute-upperValue"
53                   xmi:type="uml:LiteralUnlimitedNatural">
54         <value>*</value>
55      </upperValue>
56      <aggregation>composite</aggregation>
57      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-RuleSet_has_Rule"/>
58      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Process-Rule"/>
59   </ownedAttribute>
60</packagedElement>

Fragment for the class RuleSet (entire XML Schema)

 1<xs:element name="RuleSet"
 2            type="RuleSetXsdType"
 3            xml:id="RuleSet">
 4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleSet -->
 5  <xs:annotation>
 6    <xs:documentation>Definition 
 7          ============ 
 8          A rule set is a collection of rules. A rule set is a component of rule based scheduling.  
 9          
10          Examples 
11          ========== 
12          If [A overlaps B] Then [X] If [B occurs before C] Then [Y] If [C equals D] Then [Z]  It might take a curator to understand what these rules mean in the context of a research data store.
13          
14          Explanatory notes 
15          =================== 
16          Rule based scheduling might have multiple rule sets each of which are domain-specific. The processing agent often helps with the selection of rule sets.</xs:documentation>
17  </xs:annotation>
18</xs:element>
19<xs:complexType name="RuleSetXsdType"
20                xml:id="RuleSetXsdType">
21  <xs:annotation>
22    <xs:documentation>Definition 
23          ============ 
24          A rule set is a collection of rules. A rule set is a component of rule based scheduling.  
25          
26          Examples 
27          ========== 
28          If [A overlaps B] Then [X] If [B occurs before C] Then [Y] If [C equals D] Then [Z]  It might take a curator to understand what these rules mean in the context of a research data store.
29          
30          Explanatory notes 
31          =================== 
32          Rule based scheduling might have multiple rule sets each of which are domain-specific. The processing agent often helps with the selection of rule sets.</xs:documentation>
33  </xs:annotation>
34  <xs:sequence>
35    <xs:element name="identifier"
36                type="IdentifierXsdType"
37                minOccurs="0"
38                maxOccurs="1"
39                xml:id="RuleSet-identifier">
40      <xs:annotation>
41        <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
42      </xs:annotation>
43    </xs:element>
44    <xs:element name="RuleSet_has_Rule"
45                minOccurs="0"
46                maxOccurs="unbounded"
47                xml:id="RuleSet_has_Rule">
48      <xs:annotation>
49        <xs:documentation>A rule is a member of a rule set.</xs:documentation>
50      </xs:annotation>
51      <xs:complexType>
52        <xs:complexContent>
53          <xs:restriction base="AssociationReferenceXsdType">
54            <xs:sequence>
55              <xs:element name="ddiReference"
56                          type="InternationalRegistrationDataIdentifierXsdType"
57                          minOccurs="0"
58                          maxOccurs="1"
59                          xml:id="RuleSet_has_Rule-ddiReference"/>
60              <xs:element name="validType"
61                          minOccurs="0"
62                          maxOccurs="1"
63                          xml:id="RuleSet_has_Rule-validType">
64                <xs:simpleType>
65                  <xs:restriction base="xs:NMTOKEN">
66                    <xs:enumeration value="Rule"/>
67                  </xs:restriction>
68                </xs:simpleType>
69              </xs:element>
70            </xs:sequence>
71          </xs:restriction>
72        </xs:complexContent>
73      </xs:complexType>
74    </xs:element>
75  </xs:sequence>
76</xs:complexType>

Fragment for the class RuleSet (entire JSON Schema)

 1"cls-RuleSet": {
 2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RuleSet",
 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": "RuleSet"
14    },
15    "identifier": {
16      "$comment": "cardinality 0..1 – from cdi:RuleSet",
17      "$ref": "#/defs/dt-Identifier"
18    },
19    "has_Rule": {
20      "description": "RuleSet_has_Rule",
21      "$comment": "cardinality 0..-1",
22      "anyOf": [
23        {
24          "$ref": "#/defs/target-Rule"
25        },
26        {
27          "type": "array",
28          "items": {
29            "$ref": "#/defs/target-Rule"
30          }
31        }
32      ]
33    },
34    "has_RuleSet_OF_RuleBasedScheduling": {
35      "description": "RuleBasedScheduling_has_RuleSet",
36      "$comment": "cardinality 0..1",
37      "$ref": "#/defs/target-RuleBasedScheduling"
38    },
39    "sameAs": {
40      "$ref": "#/defs/owl:sameAs"
41    }
42  },
43  "required": ["@type"],
44  "additionalProperties": false
45},
46"target-RuleSet": {
47  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RuleSet",
48  "anyOf": [
49    { "$ref": "#/defs/cls-RuleSet" },
50    { "type": "string", "format": "iri-reference" }
51  ]
52},

Fragment for the class RuleSet (main ontology)

 1# class RuleSet
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleSet
 3cdi:RuleSet
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "RuleSet";
 6  rdfs:comment "Definition \n============ \nA rule set is a collection of rules. A rule set is a component of rule based scheduling.  \n\nExamples \n========== \nIf [A overlaps B] Then [X] If [B occurs before C] Then [Y] If [C equals D] Then [Z]  It might take a curator to understand what these rules mean in the context of a research data store.\n\nExplanatory notes \n=================== \nRule based scheduling might have multiple rule sets each of which are domain-specific. The processing agent often helps with the selection of rule sets."@en;
 7  
 8.
 9
10cdi:RuleSet-identifier
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "identifier";
13  rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
14  rdfs:domain cdi:RuleSet;
15  rdfs:range cdi:Identifier;
16.
17
18
19cdi:RuleSet_has_Rule
20  a rdf:Property, owl:ObjectProperty, ucmis:Association;
21  # ASSOCIATION
22  rdfs:label "has_Rule";
23  skos:altLabel "RuleSet_has_Rule";
24  rdfs:comment "A rule is a member of a rule set."@en;
25  rdfs:domain cdi:RuleSet;
26  rdfs:range cdi:Rule;
27.

Fragment for the class RuleSet (entire JSON-LD)

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

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

 1# class RuleSet
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleSet
 3<#RuleSet> a sh:NodeShape;
 4    sh:targetClass cdi:RuleSet;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/RuleSet";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:RuleSet
11			 ) ;
12    ];
13    # attributes
14    sh:property <#RuleSet-identifier>;
15    # associations from RuleSet
16    sh:property <#RuleSet_has_Rule>;
17    # associations to RuleSet
18    sh:property <#rev_RuleBasedScheduling_has_RuleSet>;
19
20
21
22.
23
24<#RuleSet-identifier> a sh:PropertyShape ;
25    sh:path cdi:RuleSet-identifier;
26    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
27        cdi:Identifier
28      
29    ) ]];
30    sh:maxCount 1;
31.
32
33<#RuleSet_has_Rule> a sh:PropertyShape ;
34    sh:path cdi:RuleSet_has_Rule;
35	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
36        cdi:Rule
37      
38    ) ]];
39.
40<#rev_RuleSet_has_Rule> a sh:PropertyShape ;
41    sh:path [ sh:inversePath cdi:RuleSet_has_Rule ];
42    sh:maxCount 1;
43.

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

1# class RuleSet
2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Process::RuleSet
3cdi:RuleSetShape CLOSED {
4	a [cdi:RuleSet];
5	cdi:RuleSet-identifier	@cdi:IdentifierShape?;
6	^cdi:RuleBasedScheduling_has_RuleSet @cdi:RuleBasedSchedulingShape ?;
7	cdi:RuleSet_has_Rule	@cdi:RuleShape *;
8	
9	}