Minutes MWG 2003-09-25

amicol at eso.org amicol at eso.org
Thu Oct 2 16:36:33 PDT 2003


Just a word (or two) in defence of relational databases.

Quoting Roy Williams <roy at cacr.caltech.edu>:

> (1) ADQL is semantically similar to SQL, it is something for querying
> relational databases like star catalogs 

A star catalog is not a relational database.
A star catalog could be expressed as a relation within a relational database. 
or as a XML document, eg a VOTable.

> 
> (2) Xquery is for querying hierarchical databases (like XML documents). (see
> example* below). Xquery is made for XML (which VOResource is), and there are
> existing implementations.
> 
> I believe that we are agreed that an SQL-type language is best for
> relational databases of stars,

SQL is a very good language for relational databases
Relationalships in such databases can be quite complex, 
not just a star catalog.

> and that our agreement from Cambridge covers
> this. However, the registry is different from a star catalog in several ways
> (a) the structure is more complex, with repeated elements (eg authors), and

Repeated elements are obviously not handled in a relational database within
a single table; furthermore N to M relationships can be handled in a relational
database by adding so called junction tables.  
A registry could very well be implemented using a relational database.

> (b) the amount of data is much less. In other words, the registry is
> *metadata*, not *data*. 

Databases are a very natural place for storing metadata.
At least this is what I have been doing in my last ten years ...
And SQL is out there since the seventies.

> There is not much experience on querying these --
> because we do not actually have any significant VO registries yet!
> 
> Querying the registry is not a solved problem (like SQL and star catalogs).
> There is no benefit in entrenching ourselves in a position. I think we in
> the IVOA should continue to investigate ways to make client software for VO
> registries, and hope that by this time next year we will be sufficiently
> informed to consider a standards process.
> 
> Roy
> 
> --------------------------------
> * Xquery example (approx) -- would select the Messier catalog from the
> resources in the Caltech registry:
> 
> <query>
> { for $b in document("nvo.caltech.edu/registry.xml")/VOResource
>   where $b/Curation/Creator="Messier" and $b/@date<1800
>   return <resource year="{$b/@date}"> {$b/Curation/Title} </resource> }
> </query>
> 

To answer to Tony:
In SQL this will be somthing similar:

select a.resource_id, a.resource_title, a.resource_date
from   Resources a, Resources_Curators b
where a.resource_id = b.resource_id
  and b.creator = "Messier"


I do not see your point, sorry Roy.

I do not want people to confuse the concept described in a schema
(like the SRM) with the way the schema is implemented.
I only need a good schema. After that, nobody would stop me to create 
my own copy of the registry using the technology I prefer, if I so like, 
provided that I comply to the defined and agreed upon standards for its interfaces.

Alberto



More information about the registry mailing list