Patron#

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

Library user.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

address

- own class -

Address

1..1

name

- own class -

FullName

1..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of Patron

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

to

Account account Patron

1..1

- own package -

Account

1..1

shared

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 Patron (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-Patron"
 5                  xmi:uuid="http://example.org/LIB/1.0/XMI/#Patron"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="LibraryDomainModel-Classes-Patron-ownedComment"
 8                  xmi:uuid="http://example.org/LIB/1.0/XMI/#Patron-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="LibraryDomainModel-Classes-Patron"/>
11      <body>Library user.</body>
12   </ownedComment>
13   <name>Patron</name>
14   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Patron-address"
15                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Patron-address"
16                    xmi:type="uml:Property">
17      <lowerValue xmi:id="LibraryDomainModel-Classes-Patron-address-lowerValue"
18                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Patron-address-lowerValue"
19                   xmi:type="uml:LiteralInteger">
20         <value>1</value>
21      </lowerValue>
22      <upperValue xmi:id="LibraryDomainModel-Classes-Patron-address-upperValue"
23                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Patron-address-upperValue"
24                   xmi:type="uml:LiteralUnlimitedNatural">
25         <value>1</value>
26      </upperValue>
27      <name>address</name>
28      <type xmi:idref="LibraryDomainModel-DataTypes-StructuredDataTypes-Address"/>
29   </ownedAttribute>
30   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Patron-name"
31                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Patron-name"
32                    xmi:type="uml:Property">
33      <lowerValue xmi:id="LibraryDomainModel-Classes-Patron-name-lowerValue"
34                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Patron-name-lowerValue"
35                   xmi:type="uml:LiteralInteger">
36         <value>1</value>
37      </lowerValue>
38      <upperValue xmi:id="LibraryDomainModel-Classes-Patron-name-upperValue"
39                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Patron-name-upperValue"
40                   xmi:type="uml:LiteralUnlimitedNatural">
41         <value>1</value>
42      </upperValue>
43      <name>name</name>
44      <type xmi:idref="LibraryDomainModel-DataTypes-StructuredDataTypes-FullName"/>
45   </ownedAttribute>
46</packagedElement>

Fragment for the class Patron (entire XML Schema)

 1<xs:element name="Patron"
 2            type="PatronXsdType"
 3            xml:id="Patron">
 4  <!-- based on the UML class LibraryDomainModel::Classes::Patron -->
 5  <xs:annotation>
 6    <xs:documentation>Library user.</xs:documentation>
 7  </xs:annotation>
 8</xs:element>
 9<xs:complexType name="PatronXsdType"
10                xml:id="PatronXsdType">
11  <xs:annotation>
12    <xs:documentation>Library user.</xs:documentation>
13  </xs:annotation>
14  <xs:sequence>
15    <xs:element name="address"
16                type="AddressXsdType"
17                minOccurs="1"
18                maxOccurs="1"
19                xml:id="Patron-address">
20      <xs:annotation>
21        <xs:documentation></xs:documentation>
22      </xs:annotation>
23    </xs:element>
24    <xs:element name="name"
25                type="FullNameXsdType"
26                minOccurs="1"
27                maxOccurs="1"
28                xml:id="Patron-name">
29      <xs:annotation>
30        <xs:documentation></xs:documentation>
31      </xs:annotation>
32    </xs:element>
33  </xs:sequence>
34</xs:complexType>

Fragment for the class Patron (entire JSON Schema)

 1"cls-Patron": {
 2  "description": "http://library/RDF/Patron",
 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": "Patron"
14    },
15    "address": {
16      "$comment": "cardinality 1..1 – from lib:Patron",
17      "$ref": "#/defs/dt-Address"
18    },
19    "name": {
20      "$comment": "cardinality 1..1 – from lib:Patron",
21      "$ref": "#/defs/dt-FullName"
22    },
23    
24    "account_Patron_OF_Account": {
25      "description": "Account_account_Patron",
26      "$comment": "cardinality 1..1",
27      "$ref": "#/defs/target-Account"
28    },
29    "sameAs": {
30      "$ref": "#/defs/owl:sameAs"
31    }
32  },
33  "required": ["address","name","@type"],
34  "additionalProperties": false
35},
36"target-Patron": {
37  "description": "all subclasses of http://library/RDF/Patron",
38  "anyOf": [
39    { "$ref": "#/defs/cls-Patron" },
40    { "type": "string", "format": "iri-reference" }
41  ]
42},

Fragment for the class Patron (main ontology)

 1# class Patron
 2# based on the UML class LibraryDomainModel::Classes::Patron
 3lib:Patron
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "Patron";
 6  rdfs:comment "Library user."@en;
 7  
 8.
 9
10lib:Patron-address
11  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
12  rdfs:label "address";
13  
14  rdfs:domain lib:Patron;
15  rdfs:range lib:Address;
16.
17
18lib:Patron-name
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "name";
21  
22  rdfs:domain lib:Patron;
23  rdfs:range lib:FullName;
24.

Fragment for the class Patron (entire JSON-LD)

 1{
 2  "@context": [
 3    {
 4      "lib": "http://library/RDF/",
 5      "xsd": "http://www.w3.org/2001/XMLSchema#",
 6
 7      "address": {
 8        "@id": "lib:Patron-address",
 9        "@type": "@id",
10        "@context": "Address.jsonld"
11      },
12      "name": {
13        "@id": "lib:Patron-name",
14        "@type": "@id",
15        "@context": "FullName.jsonld"
16      },
17      
18      "account_Patron_OF_Account": {
19        "@reverse": "lib:Account_account_Patron",
20        "@type": "@id",
21        "@context": "Account.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:33:36.",
27  "basedOn": "based on the UML data type LibraryDomainModel::Classes::Patron"
28}

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

 1# class Patron
 2# based on the UML class LibraryDomainModel::Classes::Patron
 3<#Patron> a sh:NodeShape;
 4    sh:targetClass lib:Patron;
 5	sh:message "See http://library/RDF/Patron";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   lib:Patron
11			 ) ;
12    ];
13    # attributes
14    sh:property <#Patron-address>;
15    sh:property <#Patron-name>;
16    # associations from Patron
17    # associations to Patron
18    sh:property <#rev_Account_account_Patron>;
19
20
21
22.
23
24<#Patron-address> a sh:PropertyShape ;
25    sh:path lib:Patron-address;
26    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
27        lib:Address
28      
29    ) ]];
30    sh:minCount 1;
31    sh:maxCount 1;
32.
33<#Patron-name> a sh:PropertyShape ;
34    sh:path lib:Patron-name;
35    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
36        lib:FullName
37      
38    ) ]];
39    sh:minCount 1;
40    sh:maxCount 1;
41.

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

1# class Patron
2# based on the UML class LibraryDomainModel::Classes::Patron
3lib:PatronShape CLOSED {
4	a [lib:Patron];
5	lib:Patron-address	@lib:AddressShape;
6	lib:Patron-name	@lib:FullNameShape;
7	^lib:Account_account_Patron @lib:AccountShape ;
8	}