Jumps: IvoaResReg :: registry mail archive :: RegistryMetadata :: VOResourceV10
Meetings: InterOpMay2011Registry

Relational Registry DM

This page describes efforts towards creating a "relational" Registry DM that will express the same data model that is implicit within the resource XML schema, in order that the new DM definition could be used with a next generation Registry interface which might be more TAP-like.

One of the most desirable features of a relational DM is that it contain a few tables as possible to make querying it easier. I have tried to model the VOResource schema (only) to achieve this aim and the result is shown below.

regDM.png

As can be seen this still involves the creation of 13 tables if the current element multiplicities that are in the XML schema are to be fully supported, and note that this number will increase when other schema are included.

The methodology for mapping the XML to relational schema involved the following transformations.

  1. Type hierarchies are all collapsed into a single table with a KIND column to distinguish the types. This also means that sub-type properties must be allowed to be nullable.
  2. An XML type is embedded directly within its parent whenever it has a cardinality of 1:1 (e.g. Content, Curation and then within those PUBLISHER_IVOID)
  3. Lists of enumerations e.g. ContentLevel have been transformed to a single field with a delimited list of enumeration values
  4. For elements where the cardinality is one to many a separate table has been created with a foreign key reference on the many side.

A Java library of objects that represent the Registry metadata models along with standard XML schema mapping (via JAXB) and the above relational mapping (via JPA) is available at http://software.astrogrid.org/doc/ivoa-objects/


-- PaulHarrison - 13 Jun 2011

Topic attachments
ISorted ascending Attachment History Action Size Date Who Comment
PNGpng regDM.png r1 manage 170.4 K 2011-06-13 - 14:20 PaulHarrison VOResource Relational model
Edit | Attach | Watch | Print version | History: r6 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2011-09-13 - PaulHarrison
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback