150 likes | 317 Views
International Virtual Observatory Alliance effort on Virtual Observatory Query Language. Naoki Yasuda (JVO), VOQL WG. VOQL Working Group.
E N D
International Virtual Observatory Alliance effort on Virtual Observatory Query Language Naoki Yasuda (JVO), VOQL WG Aus-VO Workshop 2003
VOQL Working Group • Chair : Masatoshi Ohishi (JVO)William O'Mullane, Tamas Budavari, Vivek Haridas, Nolan Li, Tanu Malik , Alex Szalay (NVO, JHU)Martin Hill, Tony Linde, Bob Mann, Clive Page (AstroGrid)Jim Gray (Microsoft)Yoshihiko Mizumoto, Naoki Yasuda (JVO)have contributed. Aus-VO Workshop 2003
Brief History • Jan 2003 at Seattle : First IVOA Meeting Start WG • May 2003 at Cambridge : IVOA Interoperability Meeting Agreed on ADQL and SkyNode concept • Jul 2003 : First Working Draft • Discussions on mailing list have been continued. • Oct 2003 at Strasbourg : IVOA Interoperability Meeting More detailed discussion • Nov 2003 : Version 0.6 Working Draft is available Aus-VO Workshop 2003
Architecture Aus-VO Workshop 2003
Architecture Description • Astronomical Data Query Language (ADQL) is an SQL like language but passed as an XML document. • SkyNodes have standard interface and will accept ADQL and return the query result as VOTable. • SkyQL have the same semantics as ADQL but the syntax would be an SQL like string rather than XML. • VOQL is an ambitious language at a higher level than ADQL. Aus-VO Workshop 2003
3 Layers of VOQL Aus-VO Workshop 2003
ADQL and SkyQL • Many astronomical data are tabular data and they are stored in relational database.aSQL as a first step • The only SQL command allowed in ADQL is a “select”.Additional predicates are Region and XMatch.XMatch is supported in Full SkyNode. • See the XSD for complete structure of ADQL. Aus-VO Workshop 2003
<?xml version="1.0" encoding="utf-16"?> <Select xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Selection> <ExprSelectionItem> <ColumnExpr> <AllColumnReference> <TableName>t</TableName> </AllColumnReference> </ColumnExpr> </ExprSelectionItem> <ExprSelectionItem> <ColumnExpr> <AllColumnReference> <TableName>b</TableName> </AllColumnReference> </ColumnExpr> </ExprSelectionItem> </Selection> <TableClause> <FromClause> <TableReference> <Table> <Name>Tab</Name> <AliasName>t</AliasName> </Table> <Table> <Name>Bob</Name> <AliasName>b</AliasName> </Table> </TableReference> </FromClause> <WhereClause> <IntersectionSearch> <FirstCondition xsi:type="PredicateSearch"> <ComparisonPred> <FirstExpr xsi:type="ColumnExpr"> <SingleColumnReference> <TableName>t</TableName> <Name>g</Name> </SingleColumnReference> </FirstExpr> <Compare><></Compare> <SecondExpr xsi:type="ColumnExpr"> <SingleColumnReference> <TableName>b</TableName> <Name>g</Name> </SingleColumnReference> </SecondExpr> </ComparisonPred> </FirstCondition> <SecondCondition xsi:type="RegionSearch"> <Circle xmlns:q1="urn:nvo-region" xsi:type="q1:circleType"> <q1:Center> <Pos2Vector xmlns="urn:nvo-coords"> <Name>Ra Dec</Name> <CoordValue> <Value> <double>12.5</double> <double>23</double> </Value> </CoordValue> </Pos2Vector> </q1:Center> <q1:Radius>5</q1:Radius> </Circle> </SecondCondition> </IntersectionSearch> </WhereClause> </TableClause> </Select> SkyQL vs ADQL Select t.*, b.* From Tab t, Bob b Where t.g <> b.g and Region('Circle J2000 12.5 23.0 5.') We need SkyQL as a human readable expression. Aus-VO Workshop 2003
SkyNode • All data servers joining the IVO would implement a standard IVOA SkyNode Interface based on Web Services. • All VO WebServices shall implement the “MetaData” port. • All VO WebServices shall implement the “Heartbeat” port. Aus-VO Workshop 2003
Basic / Full SkyNode Aus-VO Workshop 2003
Basic SkyNode Interface //Return RSM compliant VOResource public VOResource MetaData(); //Return a list of all tables that may be used from this node. public string[] Tables(); //Return ucd, name, unit, type for each column of table public MetaColumn[] Columns(string table); //Return available query result formats, VOTable, DataSet, ASCII public string[] Formats(); //Return available functions public MetaFunctions[] Functions(); //Return the result of executing ADQL query in requested format public VOResult PerformQuery(Select query, string format); Aus-VO Workshop 2003
Full SkyNode Interface //Returns object density per square degree for a given criteria. public float QueryCost(Select query); //Return Cross matched objects according to Query and input Tables public VOResult XMatch(Select select, VOTABLE[] votables); // Return result of executing an ExecPlan, format specified in plan public VOResult ExecutePlan(ExecPlan plan); //Return region of intersection between given region and this SkyNode public Region Footprint(Region region); Aus-VO Workshop 2003
Open SkyQuery Portal • Portal should not be in this specification, but some description will help how to use SkyNodes. • Open SkyQuery Portal will enable the following queryselect s.ra, s.dec, s.r, s.i, s.g, s.objid, p.* from SDSS:PhotoObj s, Twomass:Photo t,First:Photo f, SDSS:Spectro p, IVOA:MyDB.MyObjList m where XMatch (s,t,f,m) < 3 and Region(‘Circle Cartesian 0.7 0.2 -0.1 0.02’) and s.objid=p.objid and s.r<15 and abs(s.i-t.j_m)<2 • Open SkyQuery Portal is open version of SkyQuery developed at JHU based on Microsoft .NET technology. • Currently Open SkyQuery Portal will use only Full SkyNodes. Aus-VO Workshop 2003
Discussions • How to use Unified Content Descriptors?UCDs will hide raw column names.UCDs are not unique. • XMatch algorisms?User customized XMatch. • XMatch vs Neighboring SearchSomeone need all possible corresponding objects. Aus-VO Workshop 2003
Summary • ADQL and SkyNode architecture is adopted in VOQL WG. ADQL is SQL like language. SkyNode is WebService interface. • Specifications of ADQL and SkyNode are almost finalized (Jan 2004). • Full XML-baed VOQL (SkyXQuery) will be available in a few years. • See details on http://www.ivoa.net/twiki/bin/view/IVOA/IvoaVOQL Aus-VO Workshop 2003