SKOS concepts in VOTable

Sebastien Derriere sebastien.derriere at astro.unistra.fr
Thu May 24 20:43:54 PDT 2012


   Hi all,

   The need to express SKOS concepts emerged during this interop,
for example to indicate what SKOS concept corresponds to a column
contents for the Theory WG.
   There is no dedicated VOTable element or attribute to do this,
and so several ideas have been suggested. I try to list these below,
in order to see what people are thinking would be the best way to go.
The question of the VOTable representation is only one aspect of the
problem, because there are issues like being able to query on SKOS
concepts in TAP for example...
   Several concepts coming from different SKOS vocabularies could in
principle be associated to a single VOTable column.

Solution 1 :
Use the "ucd" attribute. The UCD gives a semantic information on what
a quantity is. With SKOS vocabularies, we have more flexibility, so the
UCD attribute could be broadened to other vocabularies.
PROs : use an existing attribute
CONs : the regexp for ucd attribute in VOTable does not allow the '/'
character, so it cannot contain URIs. It could break some apps expecting
to find words from the UCD vocabulary if some alternate vocabularies are
allowed in the same attribute. Is is not possible to describe several
SKOS concepts, because there is only one attribute.

Solution 2 :
Create another attribute (or element) dedicated to SKOS vocabularies.
PROs : clean way to do things. Well defined scope, no ambiguities.
CONs : makes metadata generation more complicated or confusing for data
providers (generate ucds, utypes, skos, ...). If it is an attribute,
not possible to describe several SKOS concepts. Requires schema change in
VOTable 1.3 to allow this solution.

Solution 3 :
Use <LINK> subelements for <FIELD>.
PROs : already allowed in VOTable 1.2. URIs can be expressed in href="".
Possible to use content-type and content-role attributes to give additional
context. Possible to have multiple <LINK> for one <FIELD>.
CONs : not sure how parsers would handle this or how this can be used
in TAP...

Other solutions ?
Like custom use of PARAM / GROUP.

Sebastien
-- 

    (((    Sebastien Derriere     sebastien.derriere at astro.unistra.fr
   (. .)   Observatoire de Strasbourg       Phone +33 (0) 368 852 444
  (( v ))  11, rue de l'universite        Telefax +33 (0) 368 852 417
---m-m--- F-67000 Strasbourg  France


More information about the interop mailing list