IVOA Reference Types Data Model ala VO-URP

Table of Contents

1.     model: ivoa
2.     Packages and Types
2.1     [root package]
2.1.1     dataType:IntegerQuantity
2.1.2     dataType:Quantity
2.1.3     dataType:RealQuantity
2.1.4     primitiveType:Unit
2.1.5     primitiveType:anyURI
2.1.6     primitiveType:boolean
2.1.7     dataType:complex
2.1.8     primitiveType:datetime
2.1.9     primitiveType:integer
2.1.10     primitiveType:nonnegativeInteger
2.1.11     dataType:rational
2.1.12     primitiveType:real
2.1.13     primitiveType:string
3.     vodml-id-s

1. Model: IVOA Reference Types Data Model ala VO-URP (ivoa)

Authors :
Date : 2016-07-15T10:28:35
Version : 1.0
Abstract : This is the main reference data model containing primitive types used in other data models.
Diagram : The following diagram has been generated from the model using the GraphViz tool.
The classes and packages in the diagram can be clicked and are mapped to the descriptions of the corresponding element elsewhere in the document.

2.Model contents: Packages and Types

The following sub-sections present all packages in the model with their types. The packages are listed here in alphabetical order. Each sub-section contains a description of the package and a table containing its various features.

2.1 [root package]

Model ivoa
Data types IntegerQuantity Quantity RealQuantity complex rational
Primitive types Unit anyURI boolean datetime integer nonnegativeInteger real string

2.1.1 dataType: IntegerQuantity

vodml-id IntegerQuantity
description An integer number with a unit. Examples of such units that can be used for attributes are bit/byte/kiloByte etc.
extends Quantity [ivoa:Quantity]
attributes
name feature value
value type integer [ivoa:integer]
vodml-id IntegerQuantity.value
multiplicity 1
description TODO : Missing description : please, update your UML model asap.

2.1.2 dataType: Quantity

vodml-id Quantity
description Meant to represent the value of a numerical physical quantity. Can be mapped in VOTables to FIELDrefs and PARAM(ref)s, in which case the @unit attribute of those VOTable elements is assumed to be mapped to the attribute on the Quantity. Ths is only allowed for these predefined ivoa types.
Subclasses in this model IntegerQuantity RealQuantity
attributes
name feature value
unit type Unit [ivoa:Unit]
vodml-id Quantity.unit
multiplicity 0..1
description TODO : Missing description : please, update your UML model asap.

2.1.3 dataType: RealQuantity

vodml-id RealQuantity
description A real value with a unit.
extends Quantity [ivoa:Quantity]
attributes
name feature value
value type real [ivoa:real]
vodml-id RealQuantity.value
multiplicity 1
description TODO : Missing description : please, update your UML model asap.

2.1.4 primitiveType: Unit

vodml-id Unit
description Must conform to definition of unit in VOUnit spec.

2.1.5 primitiveType: anyURI

vodml-id anyURI
description Represents a URI in the same way as the datatype of the same nam in XML Schema is used.

2.1.6 primitiveType: boolean

vodml-id boolean
description The standard boolean, having values true or false.

2.1.7 dataType: complex

vodml-id complex
description Represents a complex number, consisting of a real and imaginary component, both of which are reals. Note that in many contexts there is no native mapping for this type and it must be treated with a custom mapping.
attributes
name feature value
re type real [ivoa:real]
vodml-id complex.re
multiplicity 1
description The real part of the complex number.
im type real [ivoa:real]
vodml-id complex.im
multiplicity 1
description The imaginary part of the complex number.

2.1.8 primitiveType: datetime

vodml-id datetime
description Represents a moment in time using a date+timestamp.

2.1.9 primitiveType: integer

vodml-id integer
description An integer number (from Z).

2.1.10 primitiveType: nonnegativeInteger

vodml-id nonnegativeInteger
description An integer number from N, therefore greater than or equal to 0.

2.1.11 dataType: rational

vodml-id rational
description A rational number from Q, represented by two integers, a numerator and a denominator. A native mapping to a serialisation context does in general not exists.
attributes
name feature value
numerator type integer [ivoa:integer]
vodml-id rational.numerator
multiplicity 1
description The numerator of the quotient defining the rational.
denominator type nonnegativeInteger [ivoa:nonnegativeInteger]
vodml-id rational.denominator
multiplicity 1
description The denominator of the rational. Must be greater than 0.
constraints
denominator > 0

2.1.12 primitiveType: real

vodml-id real
description A real number (from R).

2.1.13 primitiveType: string

vodml-id string
description A string, represented as an array of characters treated as a single, primitive value. Ala Java, a string can not be updated, that is any update leads to a different string. However in contrast to Java we assume that two strings that are identical in all their constitutent characters are the same. I.e. string has value type semantics.


3.Element Identifiers/VO-DMLrefs

The following table shows all fully qualified vodml-ids for this data model. It is ordered alphabetically and the identifiers are hyper-linked to the location in the document where the actual element is fully defined.
vodml-id feature type description
vo-dml:model This is the main reference data model containing primitive types used in other data models.
IntegerQuantity dataType An integer number with a unit. Examples of such units that can be used for attributes are bit/byte/kiloByte etc.
IntegerQuantity.value attribute TODO : Missing description : please, update your UML model asap.
Quantity dataType Meant to represent the value of a numerical physical quantity. Can be mapped in VOTables to FIELDrefs and PARAM(ref)s, in which case the @unit attribute of those VOTable elements is assumed to be mapped to the attribute on the Quantity. Ths is only allowed for these predefined ivoa types.
Quantity.unit attribute TODO : Missing description : please, update your UML model asap.
RealQuantity dataType A real value with a unit.
RealQuantity.value attribute TODO : Missing description : please, update your UML model asap.
Unit primitiveType Must conform to definition of unit in VOUnit spec.
anyURI primitiveType Represents a URI in the same way as the datatype of the same nam in XML Schema is used.
boolean primitiveType The standard boolean, having values true or false.
complex dataType Represents a complex number, consisting of a real and imaginary component, both of which are reals. Note that in many contexts there is no native mapping for this type and it must be treated with a custom mapping.
complex.im attribute The imaginary part of the complex number.
complex.re attribute The real part of the complex number.
datetime primitiveType Represents a moment in time using a date+timestamp.
integer primitiveType An integer number (from Z).
nonnegativeInteger primitiveType An integer number from N, therefore greater than or equal to 0.
rational dataType A rational number from Q, represented by two integers, a numerator and a denominator. A native mapping to a serialisation context does in general not exists.
rational.denominator attribute The denominator of the rational. Must be greater than 0.
rational.numerator attribute The numerator of the quotient defining the rational.
real primitiveType A real number (from R).
string primitiveType A string, represented as an array of characters treated as a single, primitive value. Ala Java, a string can not be updated, that is any update leads to a different string. However in contrast to Java we assume that two strings that are identical in all their constitutent characters are the same. I.e. string has value type semantics.