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.
Identity
The id attribute is assumed to represent an object in a database storing instances of the data model.
Identity.id
This attribute is used to support identifing of and referring to an object in an XML document using the ID/IDREF mechanism.
Identity.xmlId
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.
Identity.ivoId
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.
Identity.publisherDID
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
The numerator of the quotient defining the rational.
rational.numerator
The denominator of the rational. Must be greater than 0.
rational.denominator
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
The real part of the complex number.
complex.re
The imaginary part of the complex number.
complex.im
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.
duration
TODO : Missing description : please, update your UML model asap.
duration._from
TODO : Missing description : please, update your UML model asap.
duration._to
TODO : Missing description : please, update your UML model asap.
quantity.AtomicValue
This attribute should hold on to a valid UCD.
For that purpose the attribute isa skosconcept, but a proper SKOS vocabulary for UCDs would be required to formalize this further.
quantity.AtomicValue.ucd
TODO : Missing description : please, update your UML model asap.
quantity.BooleanValue
TODO : Missing description : please, update your UML model asap.
quantity.BooleanValue.value
TODO : Missing description : please, update your UML model asap.
quantity.IntegerQuantity
TODO : Missing description : please, update your UML model asap.
quantity.IntegerQuantity.value
Meant to represent the value of a numerical physical quantity. May be integer, what units can apply there?
quantity.Quantity
TODO : Missing description : please, update your UML model asap.
quantity.Quantity.unit
TODO : Missing description : please, update your UML model asap.
quantity.RealQuantity
TODO : Missing description : please, update your UML model asap.
quantity.RealQuantity.value
TODO : Missing description : please, update your UML model asap.
quantity.StringValue
TODO : Missing description : please, update your UML model asap.
quantity.StringValue.value
Must conform to definition of unit in VOUnit spec.
quantity.Unit