Skip to content
/ MANGO Public
generated from ivoa-std/doc-template

Model for Annotating Generic Objects in VOTables

Notifications You must be signed in to change notification settings

ivoa-std/MANGO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

At a glance

The MANGO data model proposes a flexible way to expose data related to astronomical source objects in an interoperable way. It takes into account the huge diversity of source data in terms of feature description, format and usage.

  • The MANGO model deals with catalog entries, corresponding to astronomical sources or detections of those and represent them as a MANGO Object class.
  • It attaches identifiers on the "MANGO object" class and associates to each one a flexible set of properties (e.g. observed physical quantities).
  • It offers to link other information like detection status, quality annotation, preview images, etc. Properties may be expressed as several columns of a data table. MANGO object properties can import classes of the IVOA Measurements and Coordinates data models.
  • It reuses PhotDM
  • It proposes its own classes for the quantities that are not covered by the imported models.
  • The roles of properties are qualified by semantic tags to provide rich context.

Document Building

Repository Folders

  • doc: contains the Tex files. Do not edit model.tex by hand, this file is generated by the document builder.
  • implementations: contains annotated VOtable implementing most of the model features.
  • model: UML diagrams edited with Modelio and the XMI file.
  • vo-dml: all VODML related stuff. Do not edit desc.mango.vo-dml.xml, this file is generated by the document builder
    • desc: contains the text descriptions of all model elements
    • section: contains the head description for the section added by hand in the model table of content.
  • utils: contains the scripts used to build the document.
  • micot: contains Mivot snippets covering MAngo classes that can be reused to build annotations.

Why such a Complex Workflow?

The process of creating the document is a bit complex due to the following facts:

  • The model is maintained with Modelio which does not support any version control.
  • It is designed in a way to make sure that the diagrams keep in sync with the UML.
  • As the text edition wiyth Modelio is quite painful, it has been decided to store the description of all model elements in individual files (vodml/desc).
  • The VODML (without description) is generated by an XSLT
  • The transformation of the VODML into Latex is done by another XSLT
  • The items of the generated Latex are ordered following the VODML elements order, this must be corrected to have a consistent table of content

This process is achieved by scripts located in utils. Please read this note. If you want to contribute, please have a look at this workflow or ask the editor. This will prevent your work to be overridden by some script.

How to Contribute Anyway

  • Install mivot-validatorin your favorite virtual environment
  • Modify the description of some model elements (section 3-11 at the time of writing)
    • go into ./vo-dml/desc
    • edit the file you want to update
    • go into utils
    • run ./buildDoc.bash
  • Modify the plain text (section out of 3-11 at the time of writing)
    • go into `./doc
    • edit MANGO.tex or tap.tex, those files are never overridden.
    • go into utils
    • run ./buildDoc.bash
  • Modify the model itself
    • ask the editor with an issue

If you want to contribute, please have a look at this workflow or ask the editor.

PDF preview

The PDF preview can be seen here thanks to the ADQL team who has written a workflow generating it automatically.

Licence

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.