40
Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Obser vatory of Japan, JVO VOQL+DAL Joint session

Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Embed Size (px)

Citation preview

Page 1: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Common Interface for Astronomical Data Service

Yuji Shirasaki

National Astronomical Observatory of Japan, JVO

VOQL+DAL Joint session

Page 2: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Yuji SHIRASAKI

National Astronomical Observatory of Japan, JVO

VOQL session

JVO Skynode Implementation Experience

Page 3: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Contents• Objective of this talk• Concept for adapting ADQL query interface to a Gener

al data service• JVO SkyNode experimental implemenation

– SkyNode Toolkit– Application to the science use case

• Required Specification– Data Service Classification and Table Data model– Definition of minimum subset of ADQL– Minor update on ADQL– Standard on usage of VOTable– Access to the Object data type

Page 4: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Contents• Introduction of JVO SkyNode toolkit

– used free software– architecture of JVO skynode

• Problems in implementation and interoperability– XML Java deserialization problem in AXIS– Namespace problem ADQL, VOTable, STC – Usage of VOTable id, name attributes ...– Complexity of ADQL and STC object– ...

• Proposal– Simplify the ADQL and STC Define minimum subset of ADQL and STC

and freeze them (never update, never change the namespace)– VOTable transfer attachment or URL– Standardize the error message (not presented, as a future work)– ...

Page 5: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Objective of this talk• From a Simple Protocol to an Intelligent Protocol

– SIAP and SSAP are simple parameter-based query protocol. – ADQL is a SQL-based query protocol and have a capability to

describe more complicated query conditions.• What is the merit ?

– Multiple regions condition, directly or by VOTable– Homogeneous data access to both of the catalog and observ

ational data– Query to the multiple data services (Portal)

• Effect on the current SIAP and SSAP spec.– Introducing the ADQL to the DAL service does not affect to th

e data model of a returned VOTable.– Just introduce an additional query interface to the DAL servic

e.

Page 6: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Concept for adapting SQL to Image

Database.I have shown that image query can be described in SQL syntax by introducing virtual column concept.

SIAP QueryPOS [mandatory]SIZE [mandatory]FORMAT [mandatory]INTERSECT [option]...

Image Query on Virtual Table

Pos SizeForma

tImageURL

(23,+30)

1.0image/

fitshttp://jvo.nao.ac.jp/Image?id=124214

(23,+23)

0.3image/

jpeghttp://jvo.nao.ac.jp/Image?id=124215

... ... ... ...

http://jvo.nao.ac.jp/Image?Pos=23,+30&Size=1.0&Format=image/fits&INTERSECT=OVERLAPS

Select imageURLFrom imageTableWhere Pos = Point(23,+30)

and Size = 1.0 andFormat = ‘fits’

SIAP parameters and returned metadata are taken as columns of the virtual table.

This is a virtual table which has infinite number records.

Page 7: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Development of the JVO SkyNode Toolkit • Primary aim:

– to provide a reference implementation for every kind of data service which uses ADQL & VOTable interface

• Supported DBMS:– aimed to be independent on the type of DBMS– The only requirement is availability of JDBC driver. – but still PostgreSQL native SQL (copy command) is used...

• Restrictions:– Not all the ADQL syntax are supported.– String representation of ADQL is JVOQL.

• Experimental Release:– http://jvo.nao.ac.jp/download/skynode-toolkit/

Page 8: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

What can be done with the toolkit ?

• Catalog data query• Catalog data cross match query using VOTabl

e• Image data query• Image data cross match query using VOTable• Spectrum data is not supported, but the fram

e work will be the same as that of Catalog and Image. next work

• You can build a sample SkyNode service.

Page 9: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Software used

• Tomcat   4.1.31 ---- servlet container • Axis 1.2RC1 ---- web service engine• J2SDK 1.4.2 ---- Java compiler & library• Ant 1.6.1 ---- Java-based build tool• JavaCC 3.2 ---- parser generator for Java• JAXB v1.0.3-b18-fcs ---- XML Java conversion• PostgreSQL 7.4.7 ---- DBMS• Java HTM library (JHU) ---- spherical indexing• Java FITS library (HEASARC) ---- FITS IO lib• ...

Page 10: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Architecture

Page 11: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

regionTable• queryID• regionID• ra• dec• size1• size2• regionExpr

regionHTM• queryID• regionID• htmLow• htmUpp

mainTable

Real Tables

: DataFormatter

Column• name• dataType• unit• UCD• ...

Column Metadata Table

VOTable

:QuerySkyNode

Client-Request SQL

SQL executed on the backend DBMS

• dataID• ...

mainHTM• dataID• htmIndex

QuerySkyNode class converts the client-request SQL to the SQL which is a query actually executed on the backend DBMS. Service provider may extends this class and override some methods to configure for their database.

Table

• column1• column2• ...

User ViewThis is a virtual table exposed to the world. This table defines what data is available and which search parameters can be specified.

This is a collection of tables actually queried.

User view table may have a function type column which is calculated according to the query result of the other columns.

Space Region is approximately expressed as a collection of HTM index and the original region condition is replaced by the condition expressed in HTM index ranges.

: FunctionColumn

JVO SkyNode Toolkit Architecture

Page 12: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Catalog Data Query by ADQLcatalogTable• objectID• ra• dec• mag• …

select ra, dec, mag from catalogTable where Point(ra, dec) within

Box ( (280, +20), 1.0, 1.0)and mag < 24

regionTable• queryID• regionID• ra• dec• size1• size2• regionExpr

regionHTM• queryID• regionID• htmLow• htmUpp

catalogTable• objectID• ra• dec• mag• …

select * from (select * from regionTable queryID = 1) t1,

natural join regionHTM t2, join catalogHTM t3 on t3.htm between t2.htmLow and t2.htmUpp, natural join (select *

from catalogTable where mag < 24) t4,

Real Table

: DataFormatter

Column• name• dataType• unit• UCD• ...

User View

Column Metadata Table

VOTable

:QueryCatalog

(1) Insert region data

(2) Insert HTM index for the specified region

(3) Create SQL for real tables

(4) Execute Query

(5) Query Result

(6) Query Result in VOTable

catalogHTM

• objectID• htmIndex

Page 13: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Catalog Data Xmatch Query with VOTablecatalogTable• objectID• ra• dec• mag• …

select vot.*, cat.* from EXT::0 vot, catalogTable cat where distance(

(vot.ra, vot.dec), (cat.ra, cat.dec)) < 1 [arcsec]

and cat.mag < 24

regionTable• queryID• regionID• ra• dec• size1• size2• regionExpr

regionHTM• queryID• regionID• htmLow• htmUpp

catalogTable• objectID• ra• dec• mag• …

select * from (select * from regionTable queryID = 1) t1,

natural join regionHTM t2, natural join votable t3,join catalogHTM t4 on t4.htm between t2.htmLow and t2.htmUpp, natural join (select *

from catalogTable where mag < 24) t4,

Real Table

: DataFormatter

Column• name• dataType• unit• UCD• ...

User View

Column Metadata Table

VOTable

:QueryCatalogXmatch

(1) Insert votable data and region data

(2) Insert HTM index for the specified region

(3) Create SQL for real tables

(4) Execute Query

(5) Query Result

(6) Query Result in VOTable

catalogHTM

• objectID• htmIndex

votable• regionID• ra• dec• …

Page 14: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Image Data Query by ADQLvirtualTable

• region• filterName• format• accessURL

select accessURL from virtualTable where region overlaps

Box ( (280, +20), 1.0, 1.0)and filterName = ‘W-C-RC’and format = ‘image/fits’

regionTable• queryID• regionID• ra• dec• size1• size2• regionExpr

regionHTM• queryID• regionID• htmIndex

frameTable• frameID• filterName• ...

frameHTM

• frameID• htmIndex

select * from (select * from regionTable queryID = 1) t1,

natural join regionHTM t2, natural join frameHTM t3, natural join (select *

from frameTable where filterName = ‘W-C-RC’) t4,

natural join (select * from formatwhere format = ‘image/fits’) t5

format

• frameID• format

regionTabel.regionExpr frameTable.filterName format.format FunctionColumn.accessURL()

Real Table

: FunctionColumn

: DataFormatter

Column• name• dataType• unit• UCD• ...

User View

Column Metadata Table

VOTable

: QueryImage

(1) Insert region data

(2) Insert HTM index for the specified region

(3) Create SQL for real tables

(4) Execute Query

(5) Query Result

(6) Query Result in VOTable

Page 15: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Image Data Xmatch Query with VOTablevirtualTable

• region• filterName• format• accessURL

select img.accessURL from EXT::0 vot, virtualTable img where img.region overlaps

Box ( (vot.ra, vot.dec), 1.0, 1.0)and filterName = ‘W-C-RC’and format = ‘image/fits’

regionTable• queryID• regionID• ra• dec• size1• size2• regionExpr

regionHTM• queryID• regionID• htmIndex

frameTable• frameID• filterName• ...

frameHTM

• frameID• htmIndex

select * from (select * from regionTable queryID = 1) t1,

natural join regionHTM t2, natural join frameHTM t3, natural join votable t4,natural join (select *

from frameTable where filterName = ‘W-C-RC’) t5,

natural join (select * from formatwhere format = ‘image/fits’) t6

format

• frameID• format

regionTabel.regionExpr frameTable.filterName format.format FunctionColumn.accessURL()

Real Table

: FunctionColumn

: DataFormatter

Column• name• dataType• unit• UCD• ...

User View

Column Metadata Table

VOTable

:QueryImageXmatch

(1) Insert VOTable data and region data

(2) Insert HTM index for the specified region

(3) Create SQL for real tables

(4) Execute Query

(5) Query Result

(6) Query Result in VOTable

votable• regionID• ra• dec• …

Page 16: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Science Use Case QSO/Galaxy

Clustering Study

Page 17: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

What we can learn from the QSO/Galaxy clustering ?

– Origin of the large scale structure

• QSO is a tracer of high density regions in the universe hierarchical clustering model

• Comparison between the observation and theoretical prediction is required.

– Origin of the QSO activity

• Why is the QSO so powerful.

• Test of the galaxy merger model

Page 18: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

1. Select QSO coordinates from the QSO catalog Query to the Skynode Catalog Database.

2. Search deep imaging data which covers the QSO regions Query to the Skynode of Subaru Image Database

3. Create catalog from the imaging data Invoke the SExtractor Web service.

4. Estimate the distance to the objects around the QSO Invoke the HyperZ Web service

5. Try Clustering Analysis Invoke the clustering analysis web service.

Work flow for studying the QSO/Galaxy clustering

Page 19: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Query Flow Chart

JVO Portal

SkyNode

QSO Catalog

DB

SkyNode

SubaruSuprimeCam

Image DB

SELECT cat.*, img.* FROM jvo.misc.qso_veron_2003 cat, jvo.test.smoka.spcam_img imgWHERE POINT(cat.raj2000, cat.dej2000) WITHIN CIRCLE((189.20625, 62.216111), 0.10) AND cat.v_mag < 20 AND img.format = 'image/fits' AND img.region OVERLAPS BOX((cat._raj2000, cat._dej2000), 0.02, 0.02)

SELECT cat.*FROM jvo.misc.qso_veron_2003 catWHERE POINT(cat.raj2000, cat.dej2000) WITHIN CIRCLE((189.20625, 62.216111), 0.10) AND cat.v_mag < 20

SELECT vot.*, img.* FROM EXT::0 vot, jvo.test.smoka.spcam_img imgWHERE img.format = 'image/fits' AND img.region OVERLAPS BOX((vot.raj2000, vot.dej2000), 0.02, 0.02)

VOTableQSO list

(3)

VOTableQSO list

VOTableQSO+Image

(5)

(1)

(2)(3)

(4)

(5)

1. User request SQL2. SQL to the QSO catalog DB3. QSO coordinates in VOTable4. SQL & VOTable to Image DB5. AccessURL for images around QSOs

(1)

(2)

(4)

Page 20: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

QSO-Galaxy Search

Page 21: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

QSO Search Plot

Page 22: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

How to treat object data• Spectrum metadata data has a structured data type. A

ccess method to an object data is defined in SQL99. Example is:

Select t.*From spectrumTable tWhere t.target.position within STC(‘ … ‘)(*) target is a column name, position is a field name of Target object. Always specify alias table name to express a column.

• Most of the recent RDB support object data type.• If you don’t want to use an object data type of RDB, rel

ate one object type to one table or just have a flat table, then emulate object datatype column.

Page 23: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Required Standard

Page 24: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Table Data Model for Astro-Data Service

Image Data – spaceFrame – dataFormat– accessURL– region

Spectrum Data

– spaceFrame– dataFormat– accessURL– targetPosition

3D Cube Data Service

Photon List Data Service

Image Cutout

Service

Image Atlas Service

Pointed Image Archive

Service Image Mosaic

Service

Catalog – spaceFrame

– srcPosition– brightness– ...

• Query is described in SQL construct (ADQL).• Query result is returned in a tabular form (VOTable).• To write a SQL, table structure (column name) need to be known in advance.• Table Data Model for each data service are required.

Top level data table classes

Each subclass inherits the property of its super class

Table data model defines required columns and recommended columns

Obs. Data– spaceFrame– dataFormat– accessURL– ...

The data service must have an interface to return the class name of the table and column metadata.

If spaceFrame is the same for all the rows, it may be returned as PARAMETER in VOTable

Page 25: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Column metadata• All the column must have the following attributes:

– name, datatype, unit, arraysize, width, precision, ucd, utype. These are used in the FIELD element attributes of VOTable. A coordinate column must have an coordinateFrame attribute.

– column name can be specified by a data provider.

– datatype must follows the VOTable specification.

– expression of unit must follows the VOTable spec.

– utype is supplied by VO data model. For columns not defined in the data model, utype is not required.

– appropriate ucd is assigned by the data provider.

Page 26: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Minimum Requirement for Query Spec.

• SelectionItemType (13 sub types in ADQL 0.8)

– Only AliasSelectionItem and ColumnReferenceType

• FromTableType (3 sub types in ADQL 0.8)– Only TableType

• SearchType (16 sub types in ADQL 0.8)

– Only IntersectionSearchType and ComparisonPredType– Region Search Criterion can be specified by ComparisonPredType.

Current ADQL: describe most of the SQL92 syntax and some astro-extension many elements (33) & many data types (69), hard to build a data service. It is helpful to define minimum subset ADQL spec as a base line

Page 27: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

ArrayOfFromTableTypeConstantListSetaggregateFunctionTypealiasSelectionItemType(*)allSelectionItemTypearchiveTableTypeatomType(*)betweenPredTypebinaryExprTypeclosedExprTypeclosedSearchTypecolumnReferenceType(*)comparisonPredType(*)dropTableTypeexclusiveSearchTypefromTableTypefromType(*)functionTypegroupByTypehavingType

includeTableTypeinclusionSetTypeinclusiveSearchTypeintegerType(*)intersectionSearchType(*)intoTypeinverseSearchTypejoinTableTypelikePredTypeliteralType(*)mathFunctionTypenotBetweenPredTypenotLikePredTypenumberTypeorderExpressionTypeorderOptionTypeorderTyperealType(*)regionSearchTypescalarExpressionType

searchTypeselectTypeselectionItemTypeselectionLimitTypeselectionListTypeselectionOptionTypestringType(*)subQuerySettableType(*)trigonometricFunctionTypeunaryExprTypeunionSearchTypeuserDefinedFunctionTypewhereType(*)xMatchTableAliasTypexMatchTyp

AllowArg(*)ColumnCondition(*)EndCommentExpression(*)From(*)GroupByHavingInToItem(*)Literal(*)Name NatureOrderOrderByParams PatternQualifierRegion(*)

RestrictSelect(*)SelectionList(*)SetSigmaStartCommentTable(*)TableName TablesUnit(*)Where(*)fromTableTypeselection

Element Complex Type

aggregateFunctionNameTypeallOrDistinctTypebinaryOperatorTypecomparisonType(*)jointTableQualifierTypemathFunctionNameTypeorderDirectionTypetrigonometricFunctionNameTypeunaryOperatorType

Simple Typexs:unsignedIntxs:string(*)xs:double(*)xs:long(*)

Fundamentral TypeElement: 33 (full) 12 (basic)

Simple Type: 13 (f) 4 (b)

Complex Type: 56 (f) 12 (b)

Minimum subset of ADQL

Page 28: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

ADQL (Full) schema

ADQL (Core) schema

STC (Core) schema

STC (Full) schema

• STC (Full) schema imports STC (Core) schema

• ADQL (Core) imports STC (Core)

• ADQL (Full) imports ADQL (Core) and STC (Full)

• ADQL (Core) and STC (Core) should not be changed. These are critical standard for interoperability.

• Each schema has a difference namespace.

Proposed ADQL Schema structure

Page 29: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Substitution of Column Name by UCD or UType

• Without knowing the column names, we cannot write an SQL…

• Possible Solution use UCD or Utype for describing the query condition and selection list.

• Instroduce “ucd” and “utype” attributes to the columnReferenceType<Item xsi:type=“columnReferenceType” Name=“ra” Table=“qso”/>

<Item xsi:type=“columnReferenceType” ucd=“pos.eq;src” Table=“qso”/>

<Item xsi:type=“columnReferenceType” utype=“Target.pos” Table=“qso”/>

Page 30: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Example Query<Select xmlns:region="urn:region-core“ xmlns=“http://www.ivoa.net/xml/ADQL/core” xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SelectionList> <Item Table=“t” Name=“*” xsi:type="columnReferenceType“/> </SelectionList> <From> <Table Name=“image" Alias=“t" xsi:type="tableType"/> </From> <Where> <Condition comparison=“overlaps” xsi:type=“comparisonPredType"> <Arg Table=“t” Name=“region” xsi:type=“columnReferenceType”/> <Arg xsi:type="circleType" unit="deg" coord_system_id=“FK5"> <region:Center>20.0 30.0</region:Center> <region:Radius>1.0</region:Radius> </Arg> </Condition> </Where></Select>

SELECT t.*FROM image tWHERE region OVERLAPS Circle((20.0,30.0,’FK5’), 1.0)

Permanent namespace

Use “comparisonPred” for describing the search condition

Only “CircleType” and “AllSky” are defined in region-core schema

Red characters are user-supplied parameters

Page 31: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

ComparisonPredType as a “must-support” ConditionType

• A basic SkyNode MUST support “comparisonPredType” .

• A basic SkyNode MAY support the other searchType.

• A basic SkyNode MUST recognize an unsupported searchType as a “trueType”.

• A basic SkyNode MUST support the following construct:

– <STC_columnName> <STC_operator> <STC_searchLocationType>

– STC_operator ::= within, overlaps, outside

– point within STC(‘Circle ICRS 200 –20 2.0’ ) (Catalog Query)

– region overlaps STC(‘Circle ICRS 200 –20 2.0’) (Image Query)

– spectrum overlaps STC(‘SpectralInterval A 4000 7000’) and observationTime within STC(‘TimeInterval 2004-05-01 2004-05-31’)

(Specturm Query)

STC-type column must be compared with an object of STC seachLocationType

utype defines which column represents STC.

Page 32: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

<Condition comparison=“within” xsi:type=“comparisonPredType"> <Arg Table=“t” utype=“src.position” xsi:type=“columnReferenceType”/> <Arg xsi:type=“searchLocationType"> <AstroCoordSystem ID=“ICRS”> <SpaceFrame> <ICRS/><BARYCENTER/><SPHERICAL coord_naxes=“2”/> </SpaceFrame> </AstroCoordSystem> <AstroCoordArea ID=“SearchRegion” coord_system_id=“ICRS”> <Region> <Circle unit=“deg”> <Center>200 –20</Center> <Radius>2.0</Radius>        </Circle> </Region> </AstroCoordArea> </Arg></Condition>

It might be convenient to define substitution types for frequently used framessuch as <SpaceFrame xsi:tye=“ICRSFrameType”/>

ADQL-x version ofpoint within ‘Circle ICRS 200 –20 2.0’

Which frame should be defined as a “must be supported” frame

Page 33: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Returned VOTable• FIELD id If alias name is specified “adql:aliasName”,

otherwise “adql:tableAliasName.columnName”.

• TABLE id table alias name

• FIELD & TABLE name free, client app may use it

• STC metadata (CoordSys) for STC column– If each record in the STC column has a different STC metadat

a, STC metadata column must be included. Otherwise STC metadata must be included as PARAMETER.

• Some of the columns must always be included in the output VOTable. These columns are defined in SIAP, SSAP and SXAP document.

Page 34: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Problem encountered in implementation and problem for interoperability

Page 35: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Problems encountered in implementation (1)

• XML Java auto-conversion in AXIS– With the standard usage of AXIS, creation of a Java object co

rresponding to a XML document (e.g. VOTable) is, as a default, required.

– Server memory is easily exhausted.– Even several hundreds records of VOTable suffers from out of

memory error.

• Possible Solution :– Don’t use the auto-serialization and deserialization mechanis

m of AXIS (suggestion from an AstroGrid person).– return VOTable as an attachment– return a reference URL to retrieve the VOTable

Page 36: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Problem in implementation (2)

• Usage of VOTable is not clearly defined– id and name attribute what should be filled

?– Where column alias name should be put. This

information might be used for post-search processing on portal side.

– Location where a table name and an alias table name are put.

– Information on the origin of the column data should be kept anywhere in VOTable.

Page 37: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Problems for interoperability  (1)• Name space problem (as of 2005 Jan)

– JVO ADQL v0.8 + VOTable v1.1 + STC v1.1– NVO ADQL v0.74 + VOTable <v1.0 + NVO-STC

• Temporal workaround – External interface ADQL v0.74, VOTable v1.0– Internal interface ADQL v0.8, VOTable v1.1– Namespace exchanger

• Complexity of ADQL and STC object– ADQL 33 elements, 69 types– STC 250 elements, 88 types

• Possible Solutions:– Define a core part of ADQL as a minimum subset and assign

a permanent namespace. Never update, never change the namespace of the core part.

Page 38: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Problem for interoperability (2)

• Column name must be known in advance for writing ADQL.

• We can get column names by “Columns” interface and write ADQL, but it requires human intervention.

• A possible solution:– use UCD or Utype for specifying a column

– Introduce “ucd” and “utype” attributes to the columnReferenceType

<Item xsi:type=“columnReferenceType” Name=“ra” Table=“qso”/>

<Item xsi:type=“columnReferenceType” ucd=“pos.eq;src” Table=“qso”/>

<Item xsi:type=“columnReferenceType” utype=“Target.pos” Table=“qso”/>– If the specified utype or ucd is not found in the queried table,

ignore the condition for that column

return PARAMETER of “NaN” for that column

Page 39: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Summary• Experimental release of JVO SkyNode toolkit

– http://jvo.nao.ac.jp/download/skynode-toolkit/– Support for Catalog query, Image query

• Some Proposals– Need minimum subset of ADQL and STC– Minor update on ADQL: ucd and utype attributes to t

he ColumnReferenceType.– Usage of VOTable. Location where column name, col

umn alias name, table name and table alias name are described.

– Error message (for future work)

Page 40: Common Interface for Astronomical Data Service Yuji Shirasaki National Astronomical Observatory of Japan, JVO VOQL+DAL Joint session

Client & Server roll separation

unit conversion ?

SkyNode client SkyNode server

coordinate frame conversion ?

? conversion ucd, utype to column name

planet location (ra, dec)

Basic

Extended

Require reference implementation of client too.

Skynode draft should clearly identify which functionalities must be on the server.

cross match (x,y,z) & (ra,dec)

execution plan