Model Annotation in VOTables (MIVOT)

VO model annotation syntax proposes a syntax to map VOTable data on any model serialized in VO-DML. MIVOT annotations are grouped in a single XML block located in the resource head. The annotations operate as a bridge between the data and the model. It can denote the way data are connected to each other as well as different tables can be joined together. It is also able to carry data or meta-data that are missing in the VOTable. The annotation block is made of bricks that facilitate both annotation process and model instance reconstruction. it has been designed so as not to alter the original VOTable content, thus limiting its impact on legacy clients.


The first proposal for a solution for mapping data on models was based on GROUPS and UTypes. This approach suffered some flaws that could have been fixed, but to be consistent with VO-DML (REC in 2016), the IVOA decided to promote a mapping syntax closer to the VO-DML model serialization. The baseline of this approach consists in inserting into the VOTable to be annotated, an XML block that is faithful to the model structure and that acts as a bridge between the model leaves and the actual data.

  • A first proposal has been published as a VO working draft in 2018. Due to the lack of models to be mapped, this draft didn't go ahead at that time.
  • After this, the working group ran a wide survey to gather requirements for annotating source data. Another mapping syntax (namely vodml-lite) has been testesd in this context as well as along with the work of the time domain interest group. This alternative proposal was driven by the need of improving both readability and compactness of the annotations.
Finally, in the end of 2020, the DM-WG has been mandated by the TCG to run a virtual workshop to clearly define the model usage policy in the VO and a common syntax for the annotations. The present proposal is one of the major outcomes of that workshop.

Standard and Tools

The draft is managed following the GitHub workflow. The proposal is hosted in

  • The PDF, updated after each merge on the main branch, can seen as a release asset .
  • This draft comes with another repository (modelinstanceinvot-code) that gathers codes that are being developped to exercise the mapping syntax on real data.
    • This project contains a few Jupyter notebooks that can be launched online
    • This code is meant to be integrated in PyVO

Annotations and Astropy

The TCG mandate related to the mapping syntax also included the commitment of providing tools that could help both data provider and client developers to assess the impact of working with annotated data.

  • A prototype of a TAP service annotating data on the fly has been exposed at ADASS 2021.
  • Some work have also been put on the design for an integration of the mapping processing into AstroPy/PyVO ecosystem.
-- LaurentMichel - 2022-03-11

Topic revision: r5 - 2022-04-22 - SebastienDerriere
This site is powered by the TWiki collaboration platformCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback