Author#

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

Author of a book.

Diagram#

Diagram

Attributes#

Attributes
Attributes#

Name

Inherited from

Description

Data Type

Multiplicity

Default value

birthYear

- own class -

Integer

1..1

name

- own class -

FullName

1..1

Associations#

Associations
Associations#

Direction

Association

Description

Multiplicity of Author

Package of Other Class

Other Class

Multiplicity of other class

Aggregation Kind

Inherited from

from

Author wrote Book

1..*

- own package -

Book

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 Author (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-Author"
 5                  xmi:uuid="http://example.org/LIB/1.0/XMI/#Author"
 6                  xmi:type="uml:Class">
 7   <ownedComment xmi:id="LibraryDomainModel-Classes-Author-ownedComment"
 8                  xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-ownedComment"
 9                  xmi:type="uml:Comment">
10      <annotatedElement xmi:idref="LibraryDomainModel-Classes-Author"/>
11      <body>Author of a book.</body>
12   </ownedComment>
13   <name>Author</name>
14   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Author-birthYear"
15                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-birthYear"
16                    xmi:type="uml:Property">
17      <lowerValue xmi:id="LibraryDomainModel-Classes-Author-birthYear-lowerValue"
18                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-birthYear-lowerValue"
19                   xmi:type="uml:LiteralInteger">
20         <value>1</value>
21      </lowerValue>
22      <upperValue xmi:id="LibraryDomainModel-Classes-Author-birthYear-upperValue"
23                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-birthYear-upperValue"
24                   xmi:type="uml:LiteralUnlimitedNatural">
25         <value>1</value>
26      </upperValue>
27      <name>birthYear</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-Author-name"
32                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-name"
33                    xmi:type="uml:Property">
34      <lowerValue xmi:id="LibraryDomainModel-Classes-Author-name-lowerValue"
35                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-name-lowerValue"
36                   xmi:type="uml:LiteralInteger">
37         <value>1</value>
38      </lowerValue>
39      <upperValue xmi:id="LibraryDomainModel-Classes-Author-name-upperValue"
40                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-name-upperValue"
41                   xmi:type="uml:LiteralUnlimitedNatural">
42         <value>1</value>
43      </upperValue>
44      <name>name</name>
45      <isID>true</isID>
46      <type xmi:idref="LibraryDomainModel-DataTypes-StructuredDataTypes-FullName"/>
47   </ownedAttribute>
48   <ownedAttribute xmi:id="LibraryDomainModel-Classes-Author-ownedAttribute"
49                    xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-ownedAttribute"
50                    xmi:type="uml:Property">
51      <lowerValue xmi:id="LibraryDomainModel-Classes-Author-ownedAttribute-lowerValue"
52                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-ownedAttribute-lowerValue"
53                   xmi:type="uml:LiteralInteger">
54         <value>1</value>
55      </lowerValue>
56      <upperValue xmi:id="LibraryDomainModel-Classes-Author-ownedAttribute-upperValue"
57                   xmi:uuid="http://example.org/LIB/1.0/XMI/#Author-ownedAttribute-upperValue"
58                   xmi:type="uml:LiteralUnlimitedNatural">
59         <value>*</value>
60      </upperValue>
61      <association xmi:idref="LibraryDomainModel-Classes-Author_wrote_Book"/>
62      <type xmi:idref="LibraryDomainModel-Classes-Book"/>
63   </ownedAttribute>
64</packagedElement>

Fragment for the class Author (entire XML Schema)

 1<xs:element name="Author"
 2            type="AuthorXsdType"
 3            xml:id="Author">
 4  <!-- based on the UML class LibraryDomainModel::Classes::Author -->
 5  <xs:annotation>
 6    <xs:documentation>Author of a book.</xs:documentation>
 7  </xs:annotation>
 8</xs:element>
 9<xs:complexType name="AuthorXsdType"
10                xml:id="AuthorXsdType">
11  <xs:annotation>
12    <xs:documentation>Author of a book.</xs:documentation>
13  </xs:annotation>
14  <xs:sequence>
15    <xs:element name="birthYear"
16                type="xs:integer"
17                minOccurs="1"
18                maxOccurs="1"
19                xml:id="Author-birthYear">
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="Author-name">
29      <xs:annotation>
30        <xs:documentation></xs:documentation>
31      </xs:annotation>
32    </xs:element>
33    <xs:element name="Author_wrote_Book"
34                minOccurs="1"
35                maxOccurs="unbounded"
36                xml:id="Author_wrote_Book">
37      <xs:annotation>
38        <xs:documentation></xs:documentation>
39      </xs:annotation>
40      <xs:complexType>
41        <xs:complexContent>
42          <xs:restriction base="AssociationReferenceXsdType">
43            <xs:sequence>
44              <xs:element name="ddiReference"
45                          type="InternationalRegistrationDataIdentifierXsdType"
46                          minOccurs="0"
47                          maxOccurs="1"
48                          xml:id="Author_wrote_Book-ddiReference"/>
49              <xs:element name="validType"
50                          minOccurs="1"
51                          maxOccurs="unbounded"
52                          xml:id="Author_wrote_Book-validType">
53                <xs:simpleType>
54                  <xs:restriction base="xs:NMTOKEN">
55                    <xs:enumeration value="Book"/>
56                    <xs:enumeration value="BookItem"/>
57                  </xs:restriction>
58                </xs:simpleType>
59              </xs:element>
60            </xs:sequence>
61          </xs:restriction>
62        </xs:complexContent>
63      </xs:complexType>
64    </xs:element>
65  </xs:sequence>
66</xs:complexType>

Fragment for the class Author (entire JSON Schema)

 1"cls-Author": {
 2  "description": "http://library/RDF/Author",
 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": "Author"
14    },
15    "birthYear": {
16      "$comment": "cardinality 1..1 – from lib:Author",
17      "$ref": "#/defs/xsd:integer"
18    },
19    "name": {
20      "$comment": "cardinality 1..1 – from lib:Author",
21      "$ref": "#/defs/dt-FullName"
22    },
23    "wrote_Book": {
24      "description": "Author_wrote_Book",
25      "$comment": "cardinality 1..-1",
26      "anyOf": [
27        {
28          "$ref": "#/defs/target-Book"
29        },
30        {
31          "type": "array",
32          "items": {
33            "$ref": "#/defs/target-Book"
34          }
35        }
36      ]
37    },
38    
39    "sameAs": {
40      "$ref": "#/defs/owl:sameAs"
41    }
42  },
43  "required": ["birthYear","name","wrote_Book","@type"],
44  "additionalProperties": false
45},
46"target-Author": {
47  "description": "all subclasses of http://library/RDF/Author",
48  "anyOf": [
49    { "$ref": "#/defs/cls-Author" },
50    { "type": "string", "format": "iri-reference" }
51  ]
52},

Fragment for the class Author (main ontology)

 1# class Author
 2# based on the UML class LibraryDomainModel::Classes::Author
 3lib:Author
 4  a rdfs:Class, owl:Class, ucmis:Class;
 5  rdfs:label "Author";
 6  rdfs:comment "Author of a book."@en;
 7  
 8.
 9
10lib:Author-birthYear
11  a rdf:Property, owl:DatatypeProperty, ucmis:Attribute;
12  rdfs:label "birthYear";
13  
14  rdfs:domain lib:Author;
15  rdfs:range xsd:integer;
16.
17
18lib:Author-name
19  a rdf:Property, owl:ObjectProperty, ucmis:Attribute;
20  rdfs:label "name";
21  
22  rdfs:domain lib:Author;
23  rdfs:range lib:FullName;
24.
25
26
27lib:Author_wrote_Book
28  a rdf:Property, owl:ObjectProperty, ucmis:Association;
29  # ASSOCIATION
30  rdfs:label "wrote_Book";
31  skos:altLabel "Author_wrote_Book";
32  
33  rdfs:domain lib:Author;
34  rdfs:range lib:Book;
35.

Fragment for the class Author (entire JSON-LD)

 1{
 2  "@context": [
 3    {
 4      "lib": "http://library/RDF/",
 5      "xsd": "http://www.w3.org/2001/XMLSchema#",
 6
 7      "birthYear": {
 8        "@id": "lib:Author-birthYear",
 9        "@type": "xsd:integer"
10      },
11      "name": {
12        "@id": "lib:Author-name",
13        "@type": "@id",
14        "@context": "FullName.jsonld"
15      },
16      
17      "wrote_Book": {
18        "@id": "lib:Author_wrote_Book",
19        "@type": "@id",
20        "@context": "Book.jsonld"
21      },
22      " comment ": "tag:json-should-support-trailing-commas"
23    }
24  ],
25  "generatedBy": "This code was generated by the Eclipse Acceleo project UCMIS M2T on 2025-08-29 14:33:36.",
26  "basedOn": "based on the UML data type LibraryDomainModel::Classes::Author"
27}

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

 1# class Author
 2# based on the UML class LibraryDomainModel::Classes::Author
 3<#Author> a sh:NodeShape;
 4    sh:targetClass lib:Author;
 5	sh:message "See http://library/RDF/Author";
 6	sh:closed true;
 7	sh:ignoredProperties ( owl:sameAs );
 8    sh:property [
 9			sh:path rdf:type;
10			sh:in (   lib:Author
11			 ) ;
12    ];
13    # attributes
14    sh:property <#Author-birthYear>;
15    sh:property <#Author-name>;
16    # associations from Author
17    sh:property <#Author_wrote_Book>;
18    # associations to Author
19
20
21
22.
23
24<#Author-birthYear> a sh:PropertyShape ;
25    sh:path lib:Author-birthYear;
26    sh:datatype xsd:integer;
27    sh:minCount 1;
28    sh:maxCount 1;
29.
30<#Author-name> a sh:PropertyShape ;
31    sh:path lib:Author-name;
32    sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
33        lib:FullName
34      
35    ) ]];
36    sh:minCount 1;
37    sh:maxCount 1;
38.
39
40<#Author_wrote_Book> a sh:PropertyShape ;
41    sh:path lib:Author_wrote_Book;
42	sh:node [ sh:property [ sh:path rdf:type; sh:minCount 1; sh:in (
43        lib:Book
44        lib:BookItem
45      
46    ) ]];
47    sh:minCount 1;
48.
49<#rev_Author_wrote_Book> a sh:PropertyShape ;
50    sh:path [ sh:inversePath lib:Author_wrote_Book ];
51    sh:minCount 1;
52.

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

1# class Author
2# based on the UML class LibraryDomainModel::Classes::Author
3lib:AuthorShape CLOSED {
4	a [lib:Author];
5	lib:Author-birthYear	xsd:integer;
6	lib:Author-name	@lib:FullNameShape;
7	lib:Author_wrote_Book	@lib:BookShape OR @lib:BookItemShape+;
8	
9	}