First-attempt Catalogue DM for discussion

Ed Shaya edward.j.shaya.1 at gsfc.nasa.gov
Fri Sep 17 08:30:03 PDT 2004


Mark Taylor wrote:

>
>VOTable addresses the problem of a standard transport/exchange/storage
>format.  It does not address the problem of semantic interpretation
>of the data thus represented, although to the casual eye it might look
>like it does.  The introduction of the 'utype' attribute in VOTable 1.1
>makes this explicit (VOTable 1.1 recommendation sec 4.5).  In order to
>gain semantic information from a VOTable (e.g.: what class of physical
>object does row #i represent? what is its position on the sky?)
>you really need to associate elements of the VOTable with elements
>of a data model.  You can have a go at this kind of semantic
>interpretation by grubbing around with UCDs and column names, but it
>is not a rigorous or reliable way to go about things.
> 
>So VOTable does stand in need of a data model it can hook up to.
>I agree that attempting to answer this need is more a workmanlike task
>than a great voyage of discovery, but I don't think that makes it
>less worthwhile.
>  
>
Mark,
    I agree with you.  We need to discuss semantics as well.  We need to 
decide of UCDs are sufficient, or UCDs plus utypes, or something else 
altogether.  So lets start.
    What do we need to know about the items within a  field/column 
semantically?  What they are to the highest degree of specifity: eg, 
variable giant stars in binary systems.  What their relationship is to 
ID_MAIN: eg, hosts to the planets in ID_MAIN.  What their relationship 
is to other objects in the catalog:  eg components of Deneb and observed 
in image 12.  Is there anything else that is needed?

So a simple table of planets in orbit about components of a binary star 
would normally look like this
ID_MAIN       component         e     <v>  
P1               A             0.1    112
P2               B             0.3     22
P3               A,B          undef     6


How would we put this into Catalog in such a way that it is  machine 
understandable?
With just UCD type mechanism (without actually looking it up in our 
present UCD system, which?) we would get something like this for 
component column:
"stellar; binary component, giant, variable  planetary system; host 
star" (This is a parsing nightmare).
For the e column, we have "orbit; ellipticity"
For the <v> column, we have "orbit; mean velocity"
And we need some sort of link from component to the binary star name 
Deneb (perhaps in an upperl level table) and image 12.
What is missing here (aside from sanity)  is that nowhere does the table 
say that the planets in ID_MAIN orbit the stars in component!  Humans 
comprehend it pretty fast, but a computer would not.

If I understand utype (I am not on any discussion group that has 
discussed utype),  utype tries to provide some additional knowledge 
here.  One provides a model of  gravitional orbit and point from the 
table fields to parts in the model.   I could imagine having an OWL 
description of orbitingSystem: 2 objects in circular motion about each 
other.  A subclass would be a planetaryOrbitingSystem.  It would  
require that atleast one of its components is a planet. The ID_MAIN 
would have utype that indicated these are planets and another pointer to 
indicate component of planetaryOrbitingSystem, while the component would 
point to planetaryOrbitingSystem and binarySystem where binarySystem is 
another subclass of orbitingSystem with two similar components.

Ellipticity could also point to something in the "model".   However, it 
is ambiguous if the ellipticity refers to the orbit of  component A and 
B in Deneb or the planets around their hosts.  Same with mean velocity.

In a Catalog with a tree approach, information can be inserted directly 
into the right locations.  We can know that the velocity applies to the 
planet because it is a child of planet.  If it were the velocity of the 
component star, then it would be a child of  that star.  In the 
following the binary system Deneb and its components would be intoduced 
as ancestors to the planets. 
<binaryStar name="Deneb">
    <component id="A">
       <spect_class>K Giant</spec_class>
       <variable/>
       <planet name="P1">
         <orbit>
            <around>
                <star ref="A"/>
            </around>
            <ellipticity>
                </unitless>
                <value>0.1</value>
            </ellipticity>
            <velocity>
                <unit>km/s</unit>
                <value>112</value>
            </velocity>
        </orbit>
       </planet>
    </component>
    <component id="B">
       <spect_class>K Giant</spec_class>
       <variable/>    
       <planet name="P2">
         <orbit>
            <around>
                <star ref="B"/>
            </around>
            <ellipticity>
                </unitless>
                <value>0.3</value>
            </ellipticity>
            <velocity>
                <unit>km/s</unit>
                <value>22</value>
            </velocity>
         </orbit>
       </planet>
    </component>
    <planet name="P1">
        <orbit>
          <around>
              <star ref="A"/>
              <star ref="B"/>
          </around>
          <ellipticity>
                </unitless>
                <value special="undefined"/>
          </ellipticity>
          <velocity>
            <unit>km/s</unit>
            <value>112</value>
          </velocity>
        </orbit>
       </planet>
</binaryStar>
      
The relationships and containments  are now clear and parsed by standard 
XML tools.  I  introduced an orbit which takes  around, ellipticity , 
and  velocity.   I allow around to take one or more objects to allow  a 
planet to go around A and B although I could have said it goes around 
Deneb.  Perhaps if it is done this way it would mean that it weaves 
between components and the other way it means it just goes completely 
around the system.





 







More information about the dm mailing list