VO data types

A review of the data types defined in the VO specifications.

VODataService

The VODataService specification defines an XML schema for describing data collections and the services that access them.

This review refers to version 1.1 (20101202) of the specification.

The data types defined in VODataService are intended to be used to describe the data in VO data sets and the services and protocols used to access them.

DataType

DataType is a XML element defined in the VODataService specification that is used as a common base class for defining data types.

DataType defines the following attributes:

TableDataType

TableDataType is a XML element defined in the VODataService specification that is used as a common base class for defining data types for table columns.

TableDataType extends DataType.

VOTableType

VOTableType is a XML element defined in the VODataService specification that describes data types defined in the VOTable specification.

VOTableType inherits the following attributes from DataType:

VOTableType defines the following set of allowed values:

  • boolean
  • bit
  • unsignedByte
  • short
  • int
  • long
  • char
  • unicodeChar
  • float
  • double
  • floatComplex
  • doubleComplex

Notes:

VOTableType is described in section 3.5.3 of the specification.

In the VODataService specification, VOTableType is described as "data types that correspond to the parameter and column types defined in the VOTable schema"

In the VODataService XML schema, VOTableType is described as "a data type supported explicitly by the VOTable format".

The definition of VOTableType does not provide any further details about the sizes, ranges or content of the data types. It is left to the reader to refer to the VOTable specification for details about the data types.

In the bibliography the reference to the VOTable specification explicitly refers to version 1.2 (20091130) of the specification, this has since been superceded by version 1.3 (20130920).

The definition of VOTableType states that string values of arbitrary length are represented by a data type of char with arraysize="*". This excludes the option of using unicodeChar as the data type with arraysize="*". It may be clearer to explicitly state ASCII strings are represented by char with arraysize="*" and unicode strings are represented by unicodeChar and arraysize="*".

TAPDataType

TAPDataType is a XML element defined in the VODataService specification that describes a base class for data types defined in the TAP ADQL specification.

TAPDataType defines the following attributes:

Notes:

The XML element name reflects the historical situation where the data types were originally defined in the TAP specification. The data type definitions have since been moved to the ADQL specification, but for compatibility reasons, the XML element name has not been changed.

TAPType

#TAPType

TAPType is a XML element defined in the VODataService specification that describes data types defined in the TAP ADQL specification.

TAPType inherits the following attributes from DataType:

TAPType inherits the following attributes from TAPDataType:

TAPType defines the following set of allowed values:

  • BOOLEAN
  • SMALLINT
  • INTEGER
  • BIGINT
  • REAL
  • DOUBLE
  • TIMESTAMP
  • CHAR
  • VARCHAR
  • BINARY
  • VARBINARY
  • POINT
  • REGION
  • CLOB
  • BLOB

Notes:

TAPType is described in section 3.5.3 of the specification.

The XML element name reflects the historical situation where the data types were originally defined in the TAP specification. The data type definitions have since been moved to the ADQL specification, but for compatibility reasons, the XML element name has not been changed.

The definition of TAPType does not provide any further details about the sizes, ranges or content of the data types. It is left to the reader to refer to the TAP ADQL specification for details about the data types.

The definition of TAPType states that string values should be represented by a data type of VARCHAR, the definition does not say whether this should be accompanied by an arraysize attribute.

size

#size

The size attribute is defined as an attribute of the TAPDataType XML element in the VODataService specification.

The size attribute is not referred to by other specifications.

delim

#delim

The delim attribute is defined as an attribute of the DataType XML element in the VODataService specification.

The delim attribute is not referred to by other specifications.

None of the other specifications explicitly define a delimiter, or a way of setting one. Hovever the examples given in various specifications (e.g. ) all imply white space as the delimiter.

extendedType

#extendedType

The extendedType attribute is defined as an attribute of the DataType XML element in the VODataService specification.

The extendedType attribute is not referred to by other specifications.

Looking at the body of standards as a whole, the implication is that the extendedType attribute is functionally equivalent to the xtype attribute defined in the something specification.

However, as far as we can tell, this is not explicitly stated anywhere, and there in no mapping defined between the extendedType | extendedSchema attributes defined in VODataService and the recomendation to use the xtype attribute with a prefix recomended in the something specification.

extendedSchema

#extendedSchema

The extendedSchema attribute is defined as an attribute of the DataType XML element in the VODataService specification.

The extendedSchema attribute is not referred to by other specifications.

arraysize

#arraysize

The arraysize attribute is defined as an attribute of the TAPDataType XML element in the VODataService specification.

The size attribute is referred to by ....

VOTable

#VOTable

The VOTable specification defines ...

DALI

#DALI

The DALI specification defines ...

TAP

#TAP

The TAP specification defines ...

ADQL

#ADQL

The ADQL specification defines ...

xtype

#xtype

The xtype attribute is defined in ...

The xtype attribute is referred to in ...

TAP_SCHEMA

#TAP_SCHEMA

The TAP_SCHEMA tables are defined in ...

The TAP_SCHEMA tables are referred in ...

Edit | Attach | Watch | Print version | History: r19 | r6 < r5 < r4 < r3 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r4 - 2017-08-04 - DaveMorris
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2025 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback