Grégory Mantelet
Sessions
Model Instances in VOTables (MIVOT) defines a syntax to map VOTable data to any data model serialised in VO-DML (Virtual Observatory Data Modeling Language).
This annotation schema operates as a bridge between data and models. It associates both VOTable metadata and data to data model elements (class, attributes, types, etc.). It also brings up VOTable data or metadata that were possibly missing in the table, e.g., fine tuned coordinate system description, or curation tracing. MIVOT became an IVOA recommendation in May 2023.
Having this standard was necessary to exercise data models against real data and to make the data interpretation easier by using code working with common data models.
This paper presents our ongoing developments : reading and writing MIVOT annotations with the CDS RUST library, reading and interpreting annotations with AstroPy/PyVO and creating an add-on for the VOLLT TAP library enable to annotate query responses on the fly.
ADQL is a language defined by the IVOA for querying astronomical data. It stands for Astronomical Data Query Language. It is a fork of SQL-92 in which only the query features are used. Astronomical functions and operators have been added, in particular to query data by position. This language is mainly used in the IVOA protocol called TAP for querying relational astronomical data.
Until now, the ADQL grammar has been described in a BNF (Backus-Naur-Form)-inspired formalism, largely following SQL-92 itself. However, in its current form it is not actually used by any implementation for several reasons, including some minor mistakes and lacunae, which were in practice filled borrowing from other SQL implementations. Also, the lack of stringent tokenisation rules resulted in differing interpretations of corner cases (e.g. the string literal '49a').
In the next version of ADQL, it is therefore proposed to change the ADQL language notation from BNF to PEG (Parsing Expression Grammar). In PEG, parsing and tokenisation are specified in a uniform way, and PEG's own grammar is standardised sufficiently well that multiple interoperating implementations can be used off the shelf to obtain parse trees of ADQL clauses (at least conceptually).
This poster aims to show what are the difference between the two notations and what improvements this implies for ADQL.