Jumps: reg-dm mail archive :: IvoaResReg :: ResourceMetadata :: RegistryInterface :: VOResourceV10
Meetings: InterOpNov2009Reg :: InterOpMay2009ResReg :: InterOpOct2008ResReg :: InterOpMay2008ResReg :: InterOpSep2007ResReg
VODataService
VODataService is a XML Schema that extends the core VOResource schema to describe data collections and services that provide access to data. It forms the basis for extension schemas that describe support for standard IVOA protocols. Work on this standard is complete as of version 1.1.
- Recommendation Document
- VODataService: a VOResource Schema Extension for Describing Collections and Services (2010 December 02)
- Recommended Schema
- VODataService-v1.1.xsd
- Previous version (still in use in the IVOA)
- VODataService-v1.0.xsd
Note: the documents, schemas, and samples are now available in an Subversion (SVN) repository at the
Volute site under
trunk/projects/registry/VODataService.
Table of Contents
Features
VODataService defines the follow extensions of the generic Resource type:
-
DataCollection
: describes a collection of data which can include a mix of images, catalogs, spectra and any other type of data. A collection description may include a description of coverage on the sky and in time and frequency, and it may include a description of the component tabular data.
-
DataService
: This is an extension of the Service Resource type that represents a service that provides access to data. One can describe the data's coverage on the sky and in time and frequency and its association with facilities and instruments.
-
CatalogService
: This is an extension of the DataService
type to describe a service that provides access to data, and specifically interacts with or returns information in a tabular form. In addition to the DataService
metadata, one may also describe the strucuture of the tables.
-
STCStandard
: This resource extension is used to define standard coordinate systems using STC.
It also defines an extension of the generic Interface type:
-
ParamHTTP
: this describes a service interface in the form an HTTP Get URL and comprised of a base URL and a set of arguments made up of key=value parameters. In this extension, it is possible to describe the input parameters supported by the service.
Some samples
Version 1.1 (proposed)
Version 1.0 (currently in use by IVOA registries)
Latest Changes in v1.1
This changes came from discussion at Nov 2009 interop:
- add
<testQuery>
to vs:ParamHTTP
These changes came from discussion at May 2009 interop and were incorporated into the current PR version:
- corrected errors in example in Introduction
- added
<description>
and
<utype>
elements to the
vs:ForeignKey
type for consistency with TAP.
- changed type names
vs:TAP
to
vs:TAPType
and vs:VOTable
vs:VOTableType
.
Previously Discussion of Proposed Changes
Accepted at May 2009 InterOp
Following the discussion after
InterOpOct2008ResReg in collaboration with the TAP team, the following changes were made:
- The
<dataType>
element for column descriptions now requires an xsi:type
attribute to indicate which set of standard names the data type name drawn from. There are two sets defined: vs:TAP
(containing the TAP data types) and vs:VOTable
(containing the VOTable types suppported before).
- Foreign keys can optionally be described via
<foreignKey>
elements within a <table>
. The vs:ForeignKey
type allows one to pair up columns from the current table with columns in another table.
Proposed Changes
- Editor's Note
- All of the proposed changes below were accepted
These changes follows on discussion of changes from
InterOpSep2007ResReg and
InterOpMay2008ResReg and is recorded in part below under
"Previous Discussion of Proposed Changes" below. This proposed version attempts to incorporate feedback on the last proposal. Here is a summary of the changes:
- The RM RegionOfRegard has been "pulled out" of the STC profile and can now be encoded explicitly via a
<regionOfRegard>
child element of <coverage>
. This make searching on this data much simpler.
- The descriptions of tables is done via a single
tableset
element which contains a list of schema
elements.
The schema
element aggregates a set of logically related tables with no implied relationship to database catalogs or schemas. It responds to several issues regarding the hierarchical organization of the table descriptions:
-
- This model reflects the TAP data model
- "catalog" is an overloaded term, with different connotations in astronomy and database technology.
- To make searching more straight forward, it is considered important that all
table
elements are addressable via a single simple XPath location (e.g. tableset/schema/table).
- The introduction of
schema
does not address the issue of backward compatibility with VODataService v1.0 in which the CatalogService
resource type lists tables at _two levels higher_--i.e. there are no tableset
and schema
levels. This proposal takes the position that the table set organization is more important than this backward compatibility. Consequently, it would be helpful to users to migrate uses of v1.0 to v1.1 as broadly and quickly as possible.
-
schema/name
and schema/table/name
elements are required and must be unique.
NVO portal applications discovered that it is important to have unique ways of identifying tables.
-
schema/table/name
should include database catalog and/or schema qualifiers as applicable.
This allows the name to be plugged directly into an ADQL query without further construction from separately tagged schema and catalog names. A dot-delimiting syntax for the name would allow for parsing out the catalog and schema if is desired, though in most cases, this will not be necessary.
- the
TableService
is dropped.
This proposal posits that this is unnecessarily redundant with CatalogService
. There are currently no TableService
resources registered, suggesting there is little need to distinguish between a service with coverage one without (noting that coverage
is optional).
- the
function
and join
elements are dropped from the last proposal
-
- There was the prudent suggestion (by DougTody and supported by others) that these need further prototyping before we lock them into a schema that would be difficult to revise later. (McGlynn noted a similar join feature in HEASARC services that proved not to be useful in practice.) Instead extension mechanisms will provide a way to add these in the future.
- Table description extension mechanisms:
xsi:type
and extended types.
Richer descriptions of tables will be enabled in two ways:
-
- an
xsi:type
attribute can added to <tableset>
, <schema>
, and/or <table>
to allow additional elements to be added. (Note you can pretty much do this anywhere in a VOResource document.)
- the
<dataType>
elements feature optional attributes, extendedType
and extendedSchema
to indicate a column or parameter has an extended type. When present, the element value is the type to assume if the extended type is not recognized or supported.
- the
<table>
element's attribute role
has been changed to type
; added documentation for the recognized values for "base_table" and "view".
- optional
utype
elements are added to <schema>
, <table>
, and <column>
elements.
- an optional
flag
child element has been added to the column
element. Able to appear multiple times per column, they are used to mark traits such as "indexed" or "nullable".
Proposed Changes
These changes were proposed in Cambridge and were motivated by recent development work on the Simple Spectral Access (SSA) Protocol. The presentation here reflects the feedback provided during the Registry Working Group Session in Cambridge.
- Add an optional
<testArgs>
to the ParamHTTP
Interface type
- Definition: a formatted set of arguments that, when applied to the access URL, can be used to test the service.
- this mechanism is useful regardless of whether the service complies with a standard or not.
- the format is a string such that when concatonated after the access URL, it produces a legal URL.
- the arguments should be chosen such that the resulting query returns a legal, non-empty result.
- Add an optional
<rights>
element to the DataService
Resource type. DROPPED
- This proposal has been dropped. When proposed, this was thought to be missing from
DataService
; however, it is included in the definition of the more general Service
Resource type.
- Add an optional
<dataset>
element to the DataService
and DataCollection
Resource types. DROPPED
- provides a listing of Dataset identifiers that are available for use as input to the service
- This proposal is being dropped as it does not address the original intended use of dataset IDs within SSA.
This change was motivated by recent work on TAP and VOSI.
- Add extra elements to describe use of tables and databases.