ivoa_1.0
IVOA Profile
This is the main reference data model containing primitive types used in other data models.
IVOA Reference Types Data Model ala VO-URP
0.x
2013-03-24T06:58:05
ivoa_1.0:stdtypes/
stdtypes
TODO : Missing description : please, update your UML model asap.
ivoa_1.0:stdtypes/Identity
Identity
This datatype represents an identifier for an object in the data model. It consists of 3 attributes that each are assumed to work in a particular context or representation of a data model instance.
ivoa_1.0:stdtypes/Identity.id
ivoa_1.0:stdtypes/integer
id
The id attribute is assumed to represent an object in a database storing instances of the data model.
0..1
ivoa_1.0:stdtypes/Identity.xmlId
ivoa_1.0:stdtypes/string
xmlId
This attribute is used to support identifing of and referring to an object in an XML document using the ID/IDREF mechanism.
0..1
ivoa_1.0:stdtypes/Identity.ivoId
ivoa_1.0:stdtypes/anyURI
ivoId
The ivoId attribute is assumed to represent an object in a database following the design of the data model and accessible through a standardised registration and discovery protocols.
It is assumed to be unique within the IVOA and its format follows (a generalisation of) the IVO Resource Identifier standard (see http://www.ivoa.net/Documents/REC/Identifiers/Identifiers-20070302.html).
Since the ivoId is assumed to represent the resource as registered in a standard database for the data model, it is assumed to be allocated by such a database service. This is in contrast to the use of the IVO Identifier in resource registries, where the id is assumed to be allocated by the publisher. We have the publisherDID attribute for that purpose. Also in contrast to that usage is the fact that each object in the model is assigned this identifier, not only the root resources.
We suggest as algorithm for assigning these ivoId to use as root the ivoId of the registered database service, and to append to this a # then the UTYPE of the element and finally its id attribute, separetd from the UTYPE by a forward slash.
0..1
ivoa_1.0:stdtypes/Identity.publisherDID
ivoa_1.0:stdtypes/anyURI
publisherDID
This attribute identifies an element in the context of the publisher.
It is supposed to be unique in the IVO context and should likely be constrained to have the publisher's authority IVO id. This may need to be rediscussed when protocols for accessing a database built around a data model are to be designed.
0..1
ivoa_1.0:stdtypes/real
real
A real number (from R).
ivoa_1.0:stdtypes/rational
rational
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.
ivoa_1.0:stdtypes/decimal
decimal
Represents a decimal number with exact significance such as used to denote monetary values.
ivoa_1.0:stdtypes/anyURI
anyURI
Represents a URI in the same way as the datatype of the same nam in XML Schema is used.
ivoa_1.0:stdtypes/nonnegativeInteger
nonnegativeInteger
An integer number from N, therefore greater than or equal to 0.
ivoa_1.0:stdtypes/complex
complex
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.
ivoa_1.0:stdtypes/datetime
datetime
Represents a moment in time using a date+timestamp. Coordinate reference systems must be defined by the context serialisation.
ivoa_1.0:stdtypes/boolean
boolean
The standard boolean, having values true or false.
ivoa_1.0:stdtypes/string
string
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.
ivoa_1.0:stdtypes/integer
integer
An integer number (from Z).
ivoa_1.0:stdtypes/duration
duration
Represents an interval of time from beginning to end. Is not equivalent to a simple real value indicating the number of seconds (for example). In general a custom mapping to a particular serialisation context must be provided.