Account#
Fully qualified class name of the UML model LIB 1.0: LibraryDomainModel::Classes::Account
Library user account.
Diagram#
Diagram
Attributes#
Attributes
Name |
Inherited from |
Description |
Data Type |
Multiplicity |
Default value |
|---|---|---|---|---|---|
number |
- own class - |
Integer |
1..1 |
||
openingDate |
- own class - |
1..1 |
|||
state |
- own class - |
1..1 |
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 - |
1..1 |
none |
own class |
||
from |
Account accounts Library |
1..* |
- own package - |
1..1 |
none |
own class |
||
from |
Account borrowed BookItem |
1..1 |
- own package - |
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 }