Account#

Fully qualified class name of the UML model LIB 1.0: LibraryDomainModel::Classes::Account

Library user account.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

number

- own class -

Integer

1..1

openingDate

- own class -

Date

1..1

state

- own class -

AccountState

1..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of Account

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

Account account Patron

1..1

- own package -

Patron

1..1

none

own class

from

Account accounts Library

1..*

- own package -

Library

1..1

none

own class

from

Account borrowed BookItem

1..1

- own package -

BookItem

0..12

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 Account (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="LibraryDomainModel-Classes-Account"
 5                  xmi:uuid="http://example.org/LIB/1.0/XMI/#Account"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="LibraryDomainModel-Classes-Account-ownedComment"
 8                  xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="LibraryDomainModel-Classes-Account"/>
11      <body>Library user account.</body>
12   </ownedComment>
13   <name>Account</name>
14   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Account-number"
15                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-number"
16                    xmi:type="uml:Property">
17      <lowerValue xmi:id="LibraryDomainModel-Classes-Account-number-lowerValue"
18                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-number-lowerValue"
19                   xmi:type="uml:LiteralInteger">
20         <value>1</value>
21      </lowerValue>
22      <upperValue xmi:id="LibraryDomainModel-Classes-Account-number-upperValue"
23                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-number-upperValue"
24                   xmi:type="uml:LiteralUnlimitedNatural">
25         <value>1</value>
26      </upperValue>
27      <name>number</name>
28      <type href="http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi#Integer"
29             xmi:type="uml:PrimitiveType"/>
30   </ownedAttribute>
31   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Account-openingDate"
32                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-openingDate"
33                    xmi:type="uml:Property">
34      <lowerValue xmi:id="LibraryDomainModel-Classes-Account-openingDate-lowerValue"
35                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-openingDate-lowerValue"
36                   xmi:type="uml:LiteralInteger">
37         <value>1</value>
38      </lowerValue>
39      <upperValue xmi:id="LibraryDomainModel-Classes-Account-openingDate-upperValue"
40                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-openingDate-upperValue"
41                   xmi:type="uml:LiteralUnlimitedNatural">
42         <value>1</value>
43      </upperValue>
44      <name>openingDate</name>
45      <type xmi:idref="LibraryDomainModel-DataTypes-StructuredDataTypes-Date"/>
46   </ownedAttribute>
47   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Account-ownedAttribute_1"
48                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-ownedAttribute_1"
49                    xmi:type="uml:Property">
50      <lowerValue xmi:id="LibraryDomainModel-Classes-Account-ownedAttribute_1-lowerValue"
51                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-ownedAttribute_1-lowerValue"
52                   xmi:type="uml:LiteralInteger">
53         <value>1</value>
54      </lowerValue>
55      <upperValue xmi:id="LibraryDomainModel-Classes-Account-ownedAttribute_1-upperValue"
56                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-ownedAttribute_1-upperValue"
57                   xmi:type="uml:LiteralUnlimitedNatural">
58         <value>1</value>
59      </upperValue>
60      <association xmi:idref="LibraryDomainModel-Classes-Account_accounts_Library"/>
61      <type xmi:idref="LibraryDomainModel-Classes-Library"/>
62   </ownedAttribute>
63   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Account-ownedAttribute_2"
64                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-ownedAttribute_2"
65                    xmi:type="uml:Property">
66      <lowerValue xmi:id="LibraryDomainModel-Classes-Account-ownedAttribute_2-lowerValue"
67                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-ownedAttribute_2-lowerValue"
68                   xmi:type="uml:LiteralInteger"/>
69      <upperValue xmi:id="LibraryDomainModel-Classes-Account-ownedAttribute_2-upperValue"
70                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-ownedAttribute_2-upperValue"
71                   xmi:type="uml:LiteralUnlimitedNatural">
72         <value>12</value>
73      </upperValue>
74      <association xmi:idref="LibraryDomainModel-Classes-Account_borrowed_BookItem"/>
75      <type xmi:idref="LibraryDomainModel-Classes-BookItem"/>
76   </ownedAttribute>
77   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Account-ownedAttribute_3"
78                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-ownedAttribute_3"
79                    xmi:type="uml:Property">
80      <association xmi:idref="LibraryDomainModel-Classes-Account_account_Patron"/>
81      <type xmi:idref="LibraryDomainModel-Classes-Patron"/>
82   </ownedAttribute>
83   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Account-state"
84                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-state"
85                    xmi:type="uml:Property">
86      <lowerValue xmi:id="LibraryDomainModel-Classes-Account-state-lowerValue"
87                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-state-lowerValue"
88                   xmi:type="uml:LiteralInteger">
89         <value>1</value>
90      </lowerValue>
91      <upperValue xmi:id="LibraryDomainModel-Classes-Account-state-upperValue"
92                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Account-state-upperValue"
93                   xmi:type="uml:LiteralUnlimitedNatural">
94         <value>1</value>
95      </upperValue>
96      <name>state</name>
97      <type xmi:idref="LibraryDomainModel-DataTypes-Enumerations-AccountState"/>
98   </ownedAttribute>
99</packagedElement>

Fragment for the class Account (entire XML Schema)

  1<xs:element name="Account"
  2            type="AccountXsdType"
  3            xml:id="Account">
  4  <!-- based on the UML class LibraryDomainModel::Classes::Account -->
  5  <xs:annotation>
  6    <xs:documentation>Library user account.</xs:documentation>
  7  </xs:annotation>
  8</xs:element>
  9<xs:complexType name="AccountXsdType"
 10                xml:id="AccountXsdType">
 11  <xs:annotation>
 12    <xs:documentation>Library user account.</xs:documentation>
 13  </xs:annotation>
 14  <xs:sequence>
 15    <xs:element name="number"
 16                type="xs:integer"
 17                minOccurs="1"
 18                maxOccurs="1"
 19                xml:id="Account-number">
 20      <xs:annotation>
 21        <xs:documentation></xs:documentation>
 22      </xs:annotation>
 23    </xs:element>
 24    <xs:element name="openingDate"
 25                type="DateXsdType"
 26                minOccurs="1"
 27                maxOccurs="1"
 28                xml:id="Account-openingDate">
 29      <xs:annotation>
 30        <xs:documentation></xs:documentation>
 31      </xs:annotation>
 32    </xs:element>
 33    <xs:element name="state"
 34                type="AccountStateXsdType"
 35                minOccurs="1"
 36                maxOccurs="1"
 37                xml:id="Account-state">
 38      <xs:annotation>
 39        <xs:documentation></xs:documentation>
 40      </xs:annotation>
 41    </xs:element>
 42    <xs:element name="Account_accounts_Library"
 43                minOccurs="1"
 44                maxOccurs="1"
 45                xml:id="Account_accounts_Library">
 46      <xs:annotation>
 47        <xs:documentation></xs:documentation>
 48      </xs:annotation>
 49      <xs:complexType>
 50        <xs:complexContent>
 51          <xs:restriction base="AssociationReferenceXsdType">
 52            <xs:sequence>
 53              <xs:element name="ddiReference"
 54                          type="InternationalRegistrationDataIdentifierXsdType"
 55                          minOccurs="0"
 56                          maxOccurs="1"
 57                          xml:id="Account_accounts_Library-ddiReference"/>
 58              <xs:element name="validType"
 59                          minOccurs="1"
 60                          maxOccurs="unbounded"
 61                          xml:id="Account_accounts_Library-validType">
 62                <xs:simpleType>
 63                  <xs:restriction base="xs:NMTOKEN">
 64                    <xs:enumeration value="Library"/>
 65                  </xs:restriction>
 66                </xs:simpleType>
 67              </xs:element>
 68            </xs:sequence>
 69          </xs:restriction>
 70        </xs:complexContent>
 71      </xs:complexType>
 72    </xs:element>
 73    <xs:element name="Account_borrowed_BookItem"
 74                minOccurs="0"
 75                maxOccurs="12"
 76                xml:id="Account_borrowed_BookItem">
 77      <xs:annotation>
 78        <xs:documentation></xs:documentation>
 79      </xs:annotation>
 80      <xs:complexType>
 81        <xs:complexContent>
 82          <xs:restriction base="AssociationReferenceXsdType">
 83            <xs:sequence>
 84              <xs:element name="ddiReference"
 85                          type="InternationalRegistrationDataIdentifierXsdType"
 86                          minOccurs="0"
 87                          maxOccurs="1"
 88                          xml:id="Account_borrowed_BookItem-ddiReference"/>
 89              <xs:element name="validType"
 90                          minOccurs="1"
 91                          maxOccurs="1"
 92                          xml:id="Account_borrowed_BookItem-validType">
 93                <xs:simpleType>
 94                  <xs:restriction base="xs:NMTOKEN">
 95                    <xs:enumeration value="BookItem"/>
 96                  </xs:restriction>
 97                </xs:simpleType>
 98              </xs:element>
 99            </xs:sequence>
100          </xs:restriction>
101        </xs:complexContent>
102      </xs:complexType>
103    </xs:element>
104    <xs:element name="Account_account_Patron"
105                minOccurs="1"
106                maxOccurs="1"
107                xml:id="Account_account_Patron">
108      <xs:annotation>
109        <xs:documentation></xs:documentation>
110      </xs:annotation>
111      <xs:complexType>
112        <xs:complexContent>
113          <xs:restriction base="AssociationReferenceXsdType">
114            <xs:sequence>
115              <xs:element name="ddiReference"
116                          type="InternationalRegistrationDataIdentifierXsdType"
117                          minOccurs="0"
118                          maxOccurs="1"
119                          xml:id="Account_account_Patron-ddiReference"/>
120              <xs:element name="validType"
121                          minOccurs="1"
122                          maxOccurs="1"
123                          xml:id="Account_account_Patron-validType">
124                <xs:simpleType>
125                  <xs:restriction base="xs:NMTOKEN">
126                    <xs:enumeration value="Patron"/>
127                  </xs:restriction>
128                </xs:simpleType>
129              </xs:element>
130            </xs:sequence>
131          </xs:restriction>
132        </xs:complexContent>
133      </xs:complexType>
134    </xs:element>
135  </xs:sequence>
136</xs:complexType>

Fragment for the class Account (entire JSON Schema)

 1"cls-Account": {
 2  "description": "http://library/RDF/Account",
 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": "Account"
14    },
15    "number": {
16      "$comment": "cardinality 1..1 – from lib:Account",
17      "$ref": "#/defs/xsd:integer"
18    },
19    "openingDate": {
20      "$comment": "cardinality 1..1 – from lib:Account",
21      "$ref": "#/defs/dt-Date"
22    },
23    "state": {
24      "$comment": "cardinality 1..1 – from lib:Account",
25      "$ref": "#/defs/enum-AccountState"
26    },
27    "account_Patron": {
28      "description": "Account_account_Patron",
29      "$comment": "cardinality 1..1",
30       "$ref": "#/defs/target-Patron"
31    },
32    "accounts_Library": {
33      "description": "Account_accounts_Library",
34      "$comment": "cardinality 1..1",
35       "$ref": "#/defs/target-Library"
36    },
37    "borrowed_BookItem": {
38      "description": "Account_borrowed_BookItem",
39      "$comment": "cardinality 0..12",
40      "anyOf": [
41        {
42          "$ref": "#/defs/target-BookItem"
43        },
44        {
45          "type": "array",
46          "items": {
47            "$ref": "#/defs/target-BookItem"
48          }
49        }
50      ]
51    },
52    
53    "sameAs": {
54      "$ref": "#/defs/owl:sameAs"
55    }
56  },
57  "required": ["number","openingDate","state","account_Patron", "accounts_Library","@type"],
58  "additionalProperties": false
59},
60"target-Account": {
61  "description": "all subclasses of http://library/RDF/Account",
62  "anyOf": [
63    { "$ref": "#/defs/cls-Account" },
64    { "type": "string", "format": "iri-reference" }
65  ]
66},

Fragment for the class Account (main ontology)

 1# class Account
 2# based on the UML class LibraryDomainModel::Classes::Account
 3lib:Account
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "Account";
 6  rdfs:comment "Library user account."@en;
 7  
 8.
 9
10lib:Account-number
11  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
12  rdfs:label "number";
13  
14  rdfs:domain lib:Account;
15  rdfs:range xsd:integer;
16.
17
18lib:Account-openingDate
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "openingDate";
21  
22  rdfs:domain lib:Account;
23  rdfs:range lib:Date;
24.
25
26lib:Account-state
27  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
28  rdfs:label "state";
29  
30  rdfs:domain lib:Account;
31  rdfs:range lib:AccountState;
32.
33
34
35lib:Account_account_Patron
36  a rdf:Property, owl:ObjectProperty, ucmis:Association;
37  # ASSOCIATION
38  rdfs:label "account_Patron";
39  skos:altLabel "Account_account_Patron";
40  
41  rdfs:domain lib:Account;
42  rdfs:range lib:Patron;
43.
44
45lib:Account_accounts_Library
46  a rdf:Property, owl:ObjectProperty, ucmis:Association;
47  # ASSOCIATION
48  rdfs:label "accounts_Library";
49  skos:altLabel "Account_accounts_Library";
50  
51  rdfs:domain lib:Account;
52  rdfs:range lib:Library;
53.
54
55lib:Account_borrowed_BookItem
56  a rdf:Property, owl:ObjectProperty, ucmis:Association;
57  # ASSOCIATION
58  rdfs:label "borrowed_BookItem";
59  skos:altLabel "Account_borrowed_BookItem";
60  
61  rdfs:domain lib:Account;
62  rdfs:range lib:BookItem;
63.

Fragment for the class Account (entire JSON-LD)

 1{
 2  "@context": [
 3    {
 4      "lib": "http://library/RDF/",
 5      "xsd": "http://www.w3.org/2001/XMLSchema#",
 6
 7      "number": {
 8        "@id": "lib:Account-number",
 9        "@type": "xsd:integer"
10      },
11      "openingDate": {
12        "@id": "lib:Account-openingDate",
13        "@type": "@id",
14        "@context": "Date.jsonld"
15      },
16      "state": {
17        "@id": "lib:Account-state",
18        "@type": "@vocab",
19        "@context": {
20          "Active": "lib:Active"
21      ,    "Closed": "lib:Closed"
22      ,    "Frozen": "lib:Frozen"
23        }
24      },
25      
26      "account_Patron": {
27        "@id": "lib:Account_account_Patron",
28        "@type": "@id",
29        "@context": "Patron.jsonld"
30      },
31      "accounts_Library": {
32        "@id": "lib:Account_accounts_Library",
33        "@type": "@id",
34        "@context": "Library.jsonld"
35      },
36      "borrowed_BookItem": {
37        "@id": "lib:Account_borrowed_BookItem",
38        "@type": "@id",
39        "@context": "BookItem.jsonld"
40      },
41      " comment ": "tag:json-should-support-trailing-commas"
42    }
43  ],
44  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:33:36.",
45  "basedOn": "based on the UML data type LibraryDomainModel::Classes::Account"
46}

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

 1# class Account
 2# based on the UML class LibraryDomainModel::Classes::Account
 3<#Account> a sh:NodeShape;
 4    sh:targetClass lib:Account;
 5	sh:message "See http://library/RDF/Account";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   lib:Account
11			 ) ;
12    ];
13    # attributes
14    sh:property <#Account-number>;
15    sh:property <#Account-openingDate>;
16    sh:property <#Account-state>;
17    # associations from Account
18    sh:property <#Account_account_Patron>;
19    sh:property <#Account_accounts_Library>;
20    sh:property <#Account_borrowed_BookItem>;
21    # associations to Account
22
23
24
25.
26
27<#Account-number> a sh:PropertyShape ;
28    sh:path lib:Account-number;
29    sh:datatype xsd:integer;
30    sh:minCount 1;
31    sh:maxCount 1;
32.
33<#Account-openingDate> a sh:PropertyShape ;
34    sh:path lib:Account-openingDate;
35    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
36        lib:Date
37      
38    ) ]];
39    sh:minCount 1;
40    sh:maxCount 1;
41.
42<#Account-state> a sh:PropertyShape ;
43    sh:path lib:Account-state;
44    sh:node <#AccountState>
45    ;
46    sh:minCount 1;
47    sh:maxCount 1;
48.
49
50<#Account_account_Patron> a sh:PropertyShape ;
51    sh:path lib:Account_account_Patron;
52	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
53        lib:Patron
54      
55    ) ]];
56    sh:minCount 1;
57    sh:maxCount 1;
58.
59<#rev_Account_account_Patron> a sh:PropertyShape ;
60    sh:path [ sh:inversePath lib:Account_account_Patron ];
61    sh:minCount 1;
62    sh:maxCount 1;
63.
64<#Account_accounts_Library> a sh:PropertyShape ;
65    sh:path lib:Account_accounts_Library;
66	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
67        lib:Library
68      
69    ) ]];
70    sh:minCount 1;
71    sh:maxCount 1;
72.
73<#rev_Account_accounts_Library> a sh:PropertyShape ;
74    sh:path [ sh:inversePath lib:Account_accounts_Library ];
75    sh:minCount 1;
76.
77<#Account_borrowed_BookItem> a sh:PropertyShape ;
78    sh:path lib:Account_borrowed_BookItem;
79	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
80        lib:BookItem
81      
82    ) ]];
83    sh:maxCount 12;
84.
85<#rev_Account_borrowed_BookItem> a sh:PropertyShape ;
86    sh:path [ sh:inversePath lib:Account_borrowed_BookItem ];
87    sh:minCount 1;
88    sh:maxCount 1;
89.

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

 1# class Account
 2# based on the UML class LibraryDomainModel::Classes::Account
 3lib:AccountShape CLOSED {
 4	a [lib:Account];
 5	lib:Account-number	xsd:integer;
 6	lib:Account-openingDate	@lib:DateShape;
 7	lib:Account-state	@lib:AccountStateShape;
 8	lib:Account_account_Patron	@lib:PatronShape ;
 9	
10	lib:Account_accounts_Library	@lib:LibraryShape ;
11	
12	lib:Account_borrowed_BookItem	@lib:BookItemShape ;
13	
14	}