AgentRelationship#

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

Definition#

Defines the relation of an agent within a structure.

Examples#

An organization (source/parent) employing an individual (target/child); An individual (source/parent) supervisory to an individual (target/child); An organization (source/parent) overseeing a project (organization) (target/child). Select appropriate relationship using the controlled vocabulary available through the semantics attribute.

Explanatory notes#

Used to define the relations of agents in a hierarchical structure, or in other networks. Projects can be understood as temporary organizations.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

effectiveDates

- own class -

Effective dates of the relationship expressed as a start and end Date (using ISO and/or non-ISO date structures).

DateRange

0..1

identifier

- own class -

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

Identifier

0..1

semantics

- own class -

Specifies the semantics of the object in reference to a vocabulary, ontology, etc.

ControlledVocabularyEntry

0..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of AgentRelationship

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

AgentRelationship hasSource Agent

The subject in the description of a paired relationship – for example the Parent agent in the hierarchical Parent of Child relationship.

0..*

- own package -

Agent

1..1

none

own class

from

AgentRelationship hasTarget Agent

The object in the description of a paired relationship – for example the Object agent in the hierarchical Parent of Child relationship.

0..*

- own package -

Agent

1..1

none

own class

to

AgentStructure has AgentRelationship

0..*

- own package -

AgentStructure

1..1

none

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 AgentRelationship (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-Agents-AgentRelationship"
  5                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship"
  6                  xmi:type="uml:Class">
  7   <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-ownedComment"
  8                  xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-ownedComment"
  9                  xmi:type="uml:Comment">
 10      <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship"/>
 11      <body>Definition 
 12============ 
 13Defines the relation of an agent within a structure.  
 14
 15Examples 
 16========== 
 17An organization (source/parent) employing an individual (target/child); An individual (source/parent) supervisory to an individual (target/child); An organization (source/parent) overseeing a project (organization) (target/child). Select appropriate relationship using the controlled vocabulary available through the semantics attribute.   
 18
 19Explanatory notes 
 20=================== 
 21Used to define the relations of agents in a hierarchical structure, or in other networks. Projects can be understood as temporary organizations.</body>
 22   </ownedComment>
 23   <name>AgentRelationship</name>
 24   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-effectiveDates"
 25                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-effectiveDates"
 26                    xmi:type="uml:Property">
 27      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-effectiveDates-ownedComment"
 28                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-effectiveDates-ownedComment"
 29                     xmi:type="uml:Comment">
 30         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-effectiveDates"/>
 31         <body>Effective dates of the relationship expressed as a start and end Date (using ISO and/or non-ISO date structures).</body>
 32      </ownedComment>
 33      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-effectiveDates-lowerValue"
 34                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-effectiveDates-lowerValue"
 35                   xmi:type="uml:LiteralInteger"/>
 36      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-effectiveDates-upperValue"
 37                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-effectiveDates-upperValue"
 38                   xmi:type="uml:LiteralUnlimitedNatural">
 39         <value>1</value>
 40      </upperValue>
 41      <name>effectiveDates</name>
 42      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-DateRange"/>
 43   </ownedAttribute>
 44   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-identifier"
 45                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-identifier"
 46                    xmi:type="uml:Property">
 47      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-identifier-ownedComment"
 48                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-identifier-ownedComment"
 49                     xmi:type="uml:Comment">
 50         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-identifier"/>
 51         <body>Identifier for objects requiring short- or long-lasting referencing and management.</body>
 52      </ownedComment>
 53      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-identifier-lowerValue"
 54                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-identifier-lowerValue"
 55                   xmi:type="uml:LiteralInteger"/>
 56      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-identifier-upperValue"
 57                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-identifier-upperValue"
 58                   xmi:type="uml:LiteralUnlimitedNatural">
 59         <value>1</value>
 60      </upperValue>
 61      <name>identifier</name>
 62      <isID>true</isID>
 63      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-Identifier"/>
 64   </ownedAttribute>
 65   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-ownedAttribute_1"
 66                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-ownedAttribute_1"
 67                    xmi:type="uml:Property">
 68      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-ownedAttribute_1-lowerValue"
 69                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-ownedAttribute_1-lowerValue"
 70                   xmi:type="uml:LiteralInteger">
 71         <value>1</value>
 72      </lowerValue>
 73      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-ownedAttribute_1-upperValue"
 74                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-ownedAttribute_1-upperValue"
 75                   xmi:type="uml:LiteralUnlimitedNatural">
 76         <value>1</value>
 77      </upperValue>
 78      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship_hasSource_Agent"/>
 79      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Agents-Agent"/>
 80   </ownedAttribute>
 81   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-ownedAttribute_2"
 82                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-ownedAttribute_2"
 83                    xmi:type="uml:Property">
 84      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-ownedAttribute_2-lowerValue"
 85                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-ownedAttribute_2-lowerValue"
 86                   xmi:type="uml:LiteralInteger">
 87         <value>1</value>
 88      </lowerValue>
 89      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-ownedAttribute_2-upperValue"
 90                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-ownedAttribute_2-upperValue"
 91                   xmi:type="uml:LiteralUnlimitedNatural">
 92         <value>1</value>
 93      </upperValue>
 94      <association xmi:idref="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship_hasTarget_Agent"/>
 95      <type xmi:idref="DDICDIModels-DDICDILibrary-Classes-Agents-Agent"/>
 96   </ownedAttribute>
 97   <ownedAttribute xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-semantics"
 98                    xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-semantics"
 99                    xmi:type="uml:Property">
100      <ownedComment xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-semantics-ownedComment"
101                     xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-semantics-ownedComment"
102                     xmi:type="uml:Comment">
103         <annotatedElement xmi:idref="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-semantics"/>
104         <body>Specifies the semantics of the object in reference to a vocabulary, ontology, etc.</body>
105      </ownedComment>
106      <lowerValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-semantics-lowerValue"
107                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-semantics-lowerValue"
108                   xmi:type="uml:LiteralInteger"/>
109      <upperValue xmi:id="DDICDIModels-DDICDILibrary-Classes-Agents-AgentRelationship-semantics-upperValue"
110                   xmi:uuid="http://ddialliance.org/Specification/DDI-CDI/1.0/XMI/#AgentRelationship-semantics-upperValue"
111                   xmi:type="uml:LiteralUnlimitedNatural">
112         <value>1</value>
113      </upperValue>
114      <name>semantics</name>
115      <type xmi:idref="DDICDIModels-DDICDILibrary-DataTypes-StructuredDataTypes-ControlledVocabularyEntry"/>
116   </ownedAttribute>
117</packagedElement>

Fragment for the class AgentRelationship (entire XML Schema)

  1<xs:element name="AgentRelationship"
  2            type="AgentRelationshipXsdType"
  3            xml:id="AgentRelationship">
  4  <!-- based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::AgentRelationship -->
  5  <xs:annotation>
  6    <xs:documentation>Definition 
  7          ============ 
  8          Defines the relation of an agent within a structure.  
  9          
 10          Examples 
 11          ========== 
 12          An organization (source/parent) employing an individual (target/child); An individual (source/parent) supervisory to an individual (target/child); An organization (source/parent) overseeing a project (organization) (target/child). Select appropriate relationship using the controlled vocabulary available through the semantics attribute.   
 13          
 14          Explanatory notes 
 15          =================== 
 16          Used to define the relations of agents in a hierarchical structure, or in other networks. Projects can be understood as temporary organizations.</xs:documentation>
 17  </xs:annotation>
 18</xs:element>
 19<xs:complexType name="AgentRelationshipXsdType"
 20                xml:id="AgentRelationshipXsdType">
 21  <xs:annotation>
 22    <xs:documentation>Definition 
 23          ============ 
 24          Defines the relation of an agent within a structure.  
 25          
 26          Examples 
 27          ========== 
 28          An organization (source/parent) employing an individual (target/child); An individual (source/parent) supervisory to an individual (target/child); An organization (source/parent) overseeing a project (organization) (target/child). Select appropriate relationship using the controlled vocabulary available through the semantics attribute.   
 29          
 30          Explanatory notes 
 31          =================== 
 32          Used to define the relations of agents in a hierarchical structure, or in other networks. Projects can be understood as temporary organizations.</xs:documentation>
 33  </xs:annotation>
 34  <xs:sequence>
 35    <xs:element name="effectiveDates"
 36                type="DateRangeXsdType"
 37                minOccurs="0"
 38                maxOccurs="1"
 39                xml:id="AgentRelationship-effectiveDates">
 40      <xs:annotation>
 41        <xs:documentation>Effective dates of the relationship expressed as a start and end Date (using ISO and/or non-ISO date structures).</xs:documentation>
 42      </xs:annotation>
 43    </xs:element>
 44    <xs:element name="identifier"
 45                type="IdentifierXsdType"
 46                minOccurs="0"
 47                maxOccurs="1"
 48                xml:id="AgentRelationship-identifier">
 49      <xs:annotation>
 50        <xs:documentation>Identifier for objects requiring short- or long-lasting referencing and management.</xs:documentation>
 51      </xs:annotation>
 52    </xs:element>
 53    <xs:element name="semantics"
 54                type="ControlledVocabularyEntryXsdType"
 55                minOccurs="0"
 56                maxOccurs="1"
 57                xml:id="AgentRelationship-semantics">
 58      <xs:annotation>
 59        <xs:documentation>Specifies the semantics of the object in reference to a vocabulary, ontology, etc.</xs:documentation>
 60      </xs:annotation>
 61    </xs:element>
 62    <xs:element name="AgentRelationship_hasSource_Agent"
 63                minOccurs="1"
 64                maxOccurs="1"
 65                xml:id="AgentRelationship_hasSource_Agent">
 66      <xs:annotation>
 67        <xs:documentation>The subject in the description of a paired relationship  for example the Parent agent in the hierarchical Parent of Child relationship.</xs:documentation>
 68      </xs:annotation>
 69      <xs:complexType>
 70        <xs:complexContent>
 71          <xs:restriction base="AssociationReferenceXsdType">
 72            <xs:sequence>
 73              <xs:element name="ddiReference"
 74                          type="InternationalRegistrationDataIdentifierXsdType"
 75                          minOccurs="0"
 76                          maxOccurs="1"
 77                          xml:id="AgentRelationship_hasSource_Agent-ddiReference"/>
 78              <xs:element name="validType"
 79                          minOccurs="0"
 80                          maxOccurs="unbounded"
 81                          xml:id="AgentRelationship_hasSource_Agent-validType">
 82                <xs:simpleType>
 83                  <xs:restriction base="xs:NMTOKEN">
 84                    <xs:enumeration value="Agent"/>
 85                    <xs:enumeration value="Curator"/>
 86                    <xs:enumeration value="Individual"/>
 87                    <xs:enumeration value="Machine"/>
 88                    <xs:enumeration value="Organization"/>
 89                    <xs:enumeration value="ProcessingAgent"/>
 90                    <xs:enumeration value="Service"/>
 91                  </xs:restriction>
 92                </xs:simpleType>
 93              </xs:element>
 94            </xs:sequence>
 95          </xs:restriction>
 96        </xs:complexContent>
 97      </xs:complexType>
 98    </xs:element>
 99    <xs:element name="AgentRelationship_hasTarget_Agent"
100                minOccurs="1"
101                maxOccurs="1"
102                xml:id="AgentRelationship_hasTarget_Agent">
103      <xs:annotation>
104        <xs:documentation>The object in the description of a paired relationship  for example the Object agent in the hierarchical Parent of Child relationship.</xs:documentation>
105      </xs:annotation>
106      <xs:complexType>
107        <xs:complexContent>
108          <xs:restriction base="AssociationReferenceXsdType">
109            <xs:sequence>
110              <xs:element name="ddiReference"
111                          type="InternationalRegistrationDataIdentifierXsdType"
112                          minOccurs="0"
113                          maxOccurs="1"
114                          xml:id="AgentRelationship_hasTarget_Agent-ddiReference"/>
115              <xs:element name="validType"
116                          minOccurs="0"
117                          maxOccurs="unbounded"
118                          xml:id="AgentRelationship_hasTarget_Agent-validType">
119                <xs:simpleType>
120                  <xs:restriction base="xs:NMTOKEN">
121                    <xs:enumeration value="Agent"/>
122                    <xs:enumeration value="Curator"/>
123                    <xs:enumeration value="Individual"/>
124                    <xs:enumeration value="Machine"/>
125                    <xs:enumeration value="Organization"/>
126                    <xs:enumeration value="ProcessingAgent"/>
127                    <xs:enumeration value="Service"/>
128                  </xs:restriction>
129                </xs:simpleType>
130              </xs:element>
131            </xs:sequence>
132          </xs:restriction>
133        </xs:complexContent>
134      </xs:complexType>
135    </xs:element>
136  </xs:sequence>
137</xs:complexType>

Fragment for the class AgentRelationship (entire JSON Schema)

 1"cls-AgentRelationship": {
 2  "description": "http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AgentRelationship",
 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": "AgentRelationship"
14    },
15    "effectiveDates": {
16      "$comment": "cardinality 0..1 – from cdi:AgentRelationship",
17      "$ref": "#/defs/dt-DateRange"
18    },
19    "identifier": {
20      "$comment": "cardinality 0..1 – from cdi:AgentRelationship",
21      "$ref": "#/defs/dt-Identifier"
22    },
23    "semantics": {
24      "$comment": "cardinality 0..1 – from cdi:AgentRelationship",
25      "$ref": "#/defs/dt-ControlledVocabularyEntry"
26    },
27    "hasSource": {
28      "description": "AgentRelationship_hasSource_Agent",
29      "$comment": "cardinality 1..1",
30       "$ref": "#/defs/target-Agent"
31    },
32    "hasTarget": {
33      "description": "AgentRelationship_hasTarget_Agent",
34      "$comment": "cardinality 1..1",
35       "$ref": "#/defs/target-Agent"
36    },
37    "has_AgentRelationship_OF_AgentStructure": {
38      "description": "AgentStructure_has_AgentRelationship",
39      "$comment": "cardinality 1..1",
40      "$ref": "#/defs/target-AgentStructure"
41    },
42    "sameAs": {
43      "$ref": "#/defs/owl:sameAs"
44    }
45  },
46  "required": ["hasSource", "hasTarget","@type"],
47  "additionalProperties": false
48},
49"target-AgentRelationship": {
50  "description": "all subclasses of http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AgentRelationship",
51  "anyOf": [
52    { "$ref": "#/defs/cls-AgentRelationship" },
53    { "type": "string", "format": "iri-reference" }
54  ]
55},

Fragment for the class AgentRelationship (main ontology)

 1# class AgentRelationship
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::AgentRelationship
 3cdi:AgentRelationship
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "AgentRelationship";
 6  rdfs:comment "Definition \n============ \nDefines the relation of an agent within a structure.  \n\nExamples \n========== \nAn organization (source/parent) employing an individual (target/child); An individual (source/parent) supervisory to an individual (target/child); An organization (source/parent) overseeing a project (organization) (target/child). Select appropriate relationship using the controlled vocabulary available through the semantics attribute.   \n\nExplanatory notes \n=================== \nUsed to define the relations of agents in a hierarchical structure, or in other networks. Projects can be understood as temporary organizations."@en;
 7  
 8.
 9
10cdi:AgentRelationship-effectiveDates
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "effectiveDates";
13  rdfs:comment "Effective dates of the relationship expressed as a start and end Date (using ISO and/or non-ISO date structures)."@en;
14  rdfs:domain cdi:AgentRelationship;
15  rdfs:range cdi:DateRange;
16.
17
18cdi:AgentRelationship-identifier
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "identifier";
21  rdfs:comment "Identifier for objects requiring short- or long-lasting referencing and management."@en;
22  rdfs:domain cdi:AgentRelationship;
23  rdfs:range cdi:Identifier;
24.
25
26cdi:AgentRelationship-semantics
27  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
28  rdfs:label "semantics";
29  rdfs:comment "Specifies the semantics of the object in reference to a vocabulary, ontology, etc."@en;
30  rdfs:domain cdi:AgentRelationship;
31  rdfs:range cdi:ControlledVocabularyEntry;
32.
33
34
35cdi:AgentRelationship_hasSource_Agent
36  a rdf:Property, owl:ObjectProperty, ucmis:Association;
37  # ASSOCIATION
38  rdfs:label "hasSource";
39  skos:altLabel "AgentRelationship_hasSource_Agent";
40  rdfs:comment "The subject in the description of a paired relationship – for example the Parent agent in the hierarchical Parent of Child relationship."@en;
41  rdfs:domain cdi:AgentRelationship;
42  rdfs:range cdi:Agent;
43.
44
45cdi:AgentRelationship_hasTarget_Agent
46  a rdf:Property, owl:ObjectProperty, ucmis:Association;
47  # ASSOCIATION
48  rdfs:label "hasTarget";
49  skos:altLabel "AgentRelationship_hasTarget_Agent";
50  rdfs:comment "The object in the description of a paired relationship – for example the Object agent in the hierarchical Parent of Child relationship."@en;
51  rdfs:domain cdi:AgentRelationship;
52  rdfs:range cdi:Agent;
53.

Fragment for the class AgentRelationship (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      "effectiveDates": {
 8        "@id": "cdi:AgentRelationship-effectiveDates",
 9        "@type": "@id",
10        "@context": "DateRange.jsonld"
11      },
12      "identifier": {
13        "@id": "cdi:AgentRelationship-identifier",
14        "@type": "@id",
15        "@context": "Identifier.jsonld"
16      },
17      "semantics": {
18        "@id": "cdi:AgentRelationship-semantics",
19        "@type": "@id",
20        "@context": "ControlledVocabularyEntry.jsonld"
21      },
22      
23      "hasSource": {
24        "@id": "cdi:AgentRelationship_hasSource_Agent",
25        "@type": "@id",
26        "@context": "Agent.jsonld"
27      },
28      "hasTarget": {
29        "@id": "cdi:AgentRelationship_hasTarget_Agent",
30        "@type": "@id",
31        "@context": "Agent.jsonld"
32      },
33      "has_AgentRelationship_OF_AgentStructure": {
34        "@reverse": "cdi:AgentStructure_has_AgentRelationship",
35        "@type": "@id",
36        "@context": "AgentStructure.jsonld"
37      },
38      " comment ": "tag:json-should-support-trailing-commas"
39    }
40  ],
41  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:34:47.",
42  "basedOn": "based on the UML data type DDICDIModels::DDICDILibrary::Classes::Agents::AgentRelationship"
43}

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

 1# class AgentRelationship
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::AgentRelationship
 3<#AgentRelationship> a sh:NodeShape;
 4    sh:targetClass cdi:AgentRelationship;
 5	sh:message "See http://ddialliance.org/Specification/DDI-CDI/1.0/RDF/AgentRelationship";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   cdi:AgentRelationship
11			 ) ;
12    ];
13    # attributes
14    sh:property <#AgentRelationship-effectiveDates>;
15    sh:property <#AgentRelationship-identifier>;
16    sh:property <#AgentRelationship-semantics>;
17    # associations from AgentRelationship
18    sh:property <#AgentRelationship_hasSource_Agent>;
19    sh:property <#AgentRelationship_hasTarget_Agent>;
20    # associations to AgentRelationship
21    sh:property <#rev_AgentStructure_has_AgentRelationship>;
22
23
24
25.
26
27<#AgentRelationship-effectiveDates> a sh:PropertyShape ;
28    sh:path cdi:AgentRelationship-effectiveDates;
29    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
30        cdi:DateRange
31      
32    ) ]];
33    sh:maxCount 1;
34.
35<#AgentRelationship-identifier> a sh:PropertyShape ;
36    sh:path cdi:AgentRelationship-identifier;
37    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
38        cdi:Identifier
39      
40    ) ]];
41    sh:maxCount 1;
42.
43<#AgentRelationship-semantics> a sh:PropertyShape ;
44    sh:path cdi:AgentRelationship-semantics;
45    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
46        cdi:ControlledVocabularyEntry
47      
48    ) ]];
49    sh:maxCount 1;
50.
51
52<#AgentRelationship_hasSource_Agent> a sh:PropertyShape ;
53    sh:path cdi:AgentRelationship_hasSource_Agent;
54	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
55        cdi:Agent
56        cdi:Individual
57        cdi:Machine
58        cdi:Organization
59        cdi:ProcessingAgent
60        cdi:Curator
61        cdi:Service
62      
63    ) ]];
64    sh:minCount 1;
65    sh:maxCount 1;
66.
67<#rev_AgentRelationship_hasSource_Agent> a sh:PropertyShape ;
68    sh:path [ sh:inversePath cdi:AgentRelationship_hasSource_Agent ];
69.
70<#AgentRelationship_hasTarget_Agent> a sh:PropertyShape ;
71    sh:path cdi:AgentRelationship_hasTarget_Agent;
72	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
73        cdi:Agent
74        cdi:Individual
75        cdi:Machine
76        cdi:Organization
77        cdi:ProcessingAgent
78        cdi:Curator
79        cdi:Service
80      
81    ) ]];
82    sh:minCount 1;
83    sh:maxCount 1;
84.
85<#rev_AgentRelationship_hasTarget_Agent> a sh:PropertyShape ;
86    sh:path [ sh:inversePath cdi:AgentRelationship_hasTarget_Agent ];
87.

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

 1# class AgentRelationship
 2# based on the UML class DDICDIModels::DDICDILibrary::Classes::Agents::AgentRelationship
 3cdi:AgentRelationshipShape CLOSED {
 4	a [cdi:AgentRelationship];
 5	cdi:AgentRelationship-effectiveDates	@cdi:DateRangeShape?;
 6	cdi:AgentRelationship-identifier	@cdi:IdentifierShape?;
 7	cdi:AgentRelationship-semantics	@cdi:ControlledVocabularyEntryShape?;
 8	cdi:AgentRelationship_hasSource_Agent	@cdi:AgentShape OR @cdi:IndividualShape OR @cdi:MachineShape OR @cdi:OrganizationShape OR @cdi:ProcessingAgentShape;
 9	
10	cdi:AgentRelationship_hasTarget_Agent	@cdi:AgentShape OR @cdi:IndividualShape OR @cdi:MachineShape OR @cdi:OrganizationShape OR @cdi:ProcessingAgentShape;
11	
12	^cdi:AgentStructure_has_AgentRelationship @cdi:AgentStructureShape ;
13	}