diff --git a/doc/MANGO.tex b/doc/MANGO.tex index 9881b44..4cd9d21 100644 --- a/doc/MANGO.tex +++ b/doc/MANGO.tex @@ -9,7 +9,7 @@ \setlength\extrarowheight{2pt} \newcolumntype{L}{>{\centering\arraybackslash}m{3cm}} -\title{MANGO: A Model for ANnotating Generic Objects} +\title{MANGO: Metadata ANnotation for Generic Objects} % see ivoatexDoc for what group names to use here \ivoagroup{DM} @@ -116,8 +116,8 @@ \section{Introduction} DM working group and more generally for the IVOA. In the past years, there were some proposals to design a global model for sources \citep{wd:jesusdm} as well as for catalogs \citep{wd:catalog}. -Other proposals, more model-agnostic, were focused on the data annotation in VOTables -\citep{note:stcvot} \citep{note:seb}. +Other proposals based on models (STC1.33, PhotDM1.0) that were not machine-readable, focused on data annotation in +VOTables \citep{note:stcvot} \citep{note:seb}. In this case the goal was no longer to design a source model but to provide a complete description of individual quantities (positions, velocity, fluxes, magnitudes…). None of these proposals has come to completion due to the complexity of the task. @@ -169,8 +169,8 @@ \subsection{Use Cases} \subsection{Requirements} From the above list of use-cases, we have identified 4 domains for which -the model should provide added value: 1) nature of supported quantities 2) data description enhancement, -3) description of quantities consisting of several columns and 4) connected quantities. +the model should provide added value: 1) nature of supported quantities 2) enhancement of the data description, +3) description of quantities consisting of several columns and 4) connection of different quantities. \begin{itemize} @@ -223,7 +223,7 @@ \subsection{Requirements} This feature is required to compare positions given by surveys with high astrometry accuracy such as GAIA. \end{itemize} - \item Connected quantities : + \item Connection of quantities : \begin{itemize}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt] \item MANGO must be able to setup links between different properties of the same table. This can be relevant for instance for attaching detection likelihoods with source positions @@ -244,7 +244,7 @@ \section{Model Overview} \end{figure} -The root class of the model \texttt{MANGOObject} which has only +The root class of the model \texttt{MANGOObject} has only one mandatory attribute, an \texttt{identifier}. Identifiers should be unique within a collection, e.g. a data table, although this feature is not required by the model. @@ -289,7 +289,7 @@ \subsection{Properties} \hline \texttt{EpochPosition} & Grouping of position with velocity and time & Parameters to solve the epoch propagation case\\ \hline - \texttt{Magnitude} & Flux or Magnitude & many \\ + \texttt{Brightness} & Flux or Magnitude & many \\ \hline \texttt{Color} & Hardness ratio or magnitude ratio & many \\ [1ex] \hline diff --git a/doc/Makefile b/doc/Makefile index 6d4f8a7..fbe5327 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -4,10 +4,10 @@ DOCNAME = MANGO # count up; you probably do not want to bother with versions <1.0 -DOCVERSION = 0.1 +DOCVERSION = 1.0 # Publication date, ISO format; update manually for "releases" -DOCDATE = 2025-06-06 +DOCDATE = 2025-06-20 # What is it you're writing: NOTE, WD, PR, REC, PEN, or EN DOCTYPE = PR diff --git a/doc/ivoatexmeta.tex b/doc/ivoatexmeta.tex index 1724f23..2c13fc0 100644 --- a/doc/ivoatexmeta.tex +++ b/doc/ivoatexmeta.tex @@ -1,7 +1,7 @@ % GENERATED FILE -- edit this in the Makefile -\newcommand{\ivoaDocversion}{0.1} -\newcommand{\ivoaDocdate}{2025-06-06} -\newcommand{\ivoaDocdatecode}{20250606} +\newcommand{\ivoaDocversion}{1.0} +\newcommand{\ivoaDocdate}{2025-06-20} +\newcommand{\ivoaDocdatecode}{20250620} \newcommand{\ivoaDoctype}{PR} \newcommand{\ivoaDocname}{MANGO} \renewcommand{\ivoaBaseURL}{https://www.ivoa.net/documents/MANGO} diff --git a/doc/mango.frame.SUM_FLAG.xml b/doc/mango.frame.SUM_FLAG.xml new file mode 100644 index 0000000..53c640a --- /dev/null +++ b/doc/mango.frame.SUM_FLAG.xml @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/model.tex b/doc/model.tex index 75d72cc..2711576 100644 --- a/doc/model.tex +++ b/doc/model.tex @@ -352,7 +352,7 @@ \section{Model: mango } \subsection{Footprint} \label{sect:Footprint} - Description of the spatial extent of the MANGO object (e.g. for dust clouds). Footprint is serialized as a string. \begin{itemize} \item The supported serialization modes are listed in the \texttt{ShapeSerialization} enumeration. \item If the space coordinate system is not embedded in the serialization mode, it can be defined by the \texttt{spaceSys} reference. \end{itemize} + Description of the spatial extent of the MANGO object (e.g. for dust clouds). Footprint is serialized as a string. \begin{itemize} \item The supported serialization modes are listed in the \texttt{FootprintSerialization} enumeration. \item If the space coordinate system is not embedded in the serialization mode, it can be defined by the \texttt{spaceSys} reference. \end{itemize} \subsubsection{Footprint.serialization} \textbf{vodml-id: Footprint.serialization} \newline diff --git a/doc/model_toc.tex b/doc/model_toc.tex index 2dac666..c32724d 100644 --- a/doc/model_toc.tex +++ b/doc/model_toc.tex @@ -498,7 +498,7 @@ \section{Other Properties} \subsection{Footprint} \label{sect:Footprint} - Description of the spatial extent of the MANGO object (e.g. for dust clouds). Footprint is serialized as a string. \begin{itemize} \item The supported serialization modes are listed in the \texttt{ShapeSerialization} enumeration. \item If the space coordinate system is not embedded in the serialization mode, it can be defined by the \texttt{spaceSys} reference. \end{itemize} + Description of the spatial extent of the MANGO object (e.g. for dust clouds). Footprint is serialized as a string. \begin{itemize} \item The supported serialization modes are listed in the \texttt{FootprintSerialization} enumeration. \item If the space coordinate system is not embedded in the serialization mode, it can be defined by the \texttt{spaceSys} reference. \end{itemize} \subsubsection{Footprint.serialization} \textbf{vodml-id: Footprint.serialization} \newline diff --git a/doc/usecase_xmatch.tex b/doc/usecase_xmatch.tex index b501cea..ac07464 100644 --- a/doc/usecase_xmatch.tex +++ b/doc/usecase_xmatch.tex @@ -12,7 +12,7 @@ In the latter case (cross-match between two tables taking into account positional errors), the tool needs to be able to retrieve the errors associated to the each position in each table. -UCDs may help in identifying the errors associated to a positional columns as shown in table \ref{tbl::pos-errors}. +UCDs may help in identifying the errors associated positional columns as shown in table \ref{tbl::pos-errors}. \begin{table}[!htbp] diff --git a/doc/usecases.tex b/doc/usecases.tex index f600360..f0ded4f 100644 --- a/doc/usecases.tex +++ b/doc/usecases.tex @@ -38,10 +38,10 @@ \subsubsection{GAIA} \subsubsection{Euclid} The Euclid telescope has been designed to unveil some of the questions about the -dark Universe, including dark matter and dark energy, what would include, f.i +dark Universe, including dark matter and dark energy, what would include, for instance, quite accurate measurements of the expansion of the Universe. -Euclid will mainly observe extragalactic objects providing, f.i information +Euclid will mainly observe extragalactic objects providing, for instance, information about the shapes of galaxies, gravitational lensing, baryon acoustic oscillations and distances to galaxies using spectroscopic data. @@ -66,6 +66,7 @@ \subsubsection{Euclid} \item correlation with other catalogues \item photometry (ground + satellite ) \item morphology class + \item footprint \item redshift \item photometric redshift \end{itemize} @@ -77,13 +78,12 @@ \subsubsection{Exoplanets} The use cases identified requires the following metadata: \begin{itemize}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt] \item the degree of confidence in the detection: exoplanets candidates -w.r.t. confirmed ones, plus last update of the record content ; + with respect to confirmed ones, plus last update of the record content ; \item the method used in the discovery (since it affects the available -stellar system description parameters); + stellar system description parameters); \item a set of stellar host characteristics (besides sky coordinates): -activity, mass, type, -metallicity, age, some systemic values, like the global RV (radial -velocity) of the system, and so on; + activity, mass, type, metallicity, age, some systemic values, + like the global RV (radial velocity) of the system, and so on; \item (exo-)planet parameters, like mass, orbital period, orbit's eccentricity, RV semi-amplitude, time at periastron (for RV detections) or central transit time (for transit method), longitude of periastron, @@ -173,11 +173,11 @@ \subsubsection{Vizier catalog archive} to make those understandable/interoperable for a wide panel of VO-compliant clients. \subsubsection{Client Use-cases} -Right now, the meta-data provided within the VOTable allow client software such Aladin or Topcat to run most +Right now, the meta-data provided within the VOTable allow client software such as Aladin or Topcat to run most of the functionalities expected by the user, either for data analysis or plotting. This information is often inferred from UCDs, UTypes or column names. It can also be given by the user. -Client applications do not require working with full model instances but in some cases models -can make it explicit how quantities in an input table relate to each other. +Client applications do not require the use of full model instances, but in some cases, +models can make explicit the relationships between quantities in an input table. Most cases are oriented towards interpretation of columns for visualization, e.g.: \begin{itemize}[noitemsep,topsep=0pt,parsep=0pt,partopsep=0pt] @@ -209,7 +209,7 @@ \subsubsection{Client Use-cases} associated errors and correlation coefficients) \item what is the error ellipse/oid to use for a sky/Cartesian crossmatch - (what columns provide the relevant errors and, if available, + (which columns provide the relevant errors and, if available, correlations) \end{itemize} @@ -235,6 +235,6 @@ \subsubsection{Xmatch tool } In the latter case (cross-match between two tables taking into account positional errors), the tool needs to retrieve the errors associated to the each position in each table. -UCDs may help in identifying the errors associated to a positional columns, +UCDs may help in identifying the errors associated to positional columns, %as shown in table but this is not sufficient for tables with more complex cases based on multi-parameter cases. diff --git a/vo-dml/desc.mango.vo-dml.xml b/vo-dml/desc.mango.vo-dml.xml deleted file mode 100644 index 63f7e96..0000000 --- a/vo-dml/desc.mango.vo-dml.xml +++ /dev/null @@ -1,1624 +0,0 @@ - - mango - The purpose of MANGO, which stands for MO-del for AN-notating G-eneric O-objects, is to add an upper level of description to the tabular data of query responses. It allows metadata to be extended, complex quantities to be reconstructed from column values, and properties to be linked. It also allows to specify the origin af the data. - - - Mango - Laurent Michel, Fran??ois Bonnarel, Gilles Landais, Mireille Louys, Marco Molinaro, Jesue Salgado - 1.0 - 0.0 - 2025-06-06T13:58:18 - - ivoa - http://www.ivoa.net/xml/VODML/IVOA-v1.vo-dml.xml - https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/models/ivoa/vo-dml/IVOA-v1.0.html - - - meas - https://ivoa.net/xml/VODML/Meas-v1.vo-dml.xml - https://ivoa.net/documents/Meas/20221004/index.html - - - coords - https://ivoa.net/xml/VODML/Coords-v1.vo-dml.xml - https://ivoa.net/documents/Coords/20221004/index.html - - - Phot - https://ivoa.net/xml/VODML/Phot-v1.vodml.xml - https://ivoa.net/documents/PHOTDM/20221101/index.html - - - FootprintSerialization - FootprintSerialization - Enumeration of the supported serialization modes for the footprints - - FootprintSerialization.SMOC - SMOC - Label indicating that the footprint has been serialized as a SMOC \citep{2022ivoa.spec.0727F}. -SMOC should be in equatorial ICRS. This overrides the attached space coordinate system (\texttt{spaceSys} reference). -When using this serialisation, \texttt{spaceSys} can be ignored. - - - FootprintSerialization.STC-S - STC-S - Label indicating that the footprint has been serialized as a STC-S string (see \url{https://www.ivoa.net/documents/STC-S/20130917/index.html}). -SMOC should be in equatorial ICRS. This overrides the attached space coordinate system (\texttt{spaceSys} reference). -When using this serialisation, \texttt{spaceSys} can be ignored. - - - FootprintSerialization.POLYGON - POLYGON - Label indicating that the footprint has been serialized as a polygon as defined in \cite{2017ivoa.spec.0517D} section 3.3.7. -Using the polygon serialization requires the space coordinate system to be defined. - - - - - ColorDefinition - ColorDefinition - Enumeration of the different types of colors supported by the model. - - ColorDefinition.ColorIndex - ColorIndex - Difference of magnitudes: typically $M_B - M_v$ - - - ColorDefinition.HardnessRatio - HardnessRatio - Normalized ratio of fluxes: $(F_{EB2} - F_{EB1}) / (F_{EB2} + F_{EB1})$ - - - - - VocabularyTerm - VocabularyTerm - Class holder for a term of a standardized vocabulary that applies to a property. - - VocabularyTerm.uri - uri - URI the vocabulary term - - ivoa:string - - - 1 - 1 - - - - VocabularyTerm.label - label - Label attached to the vocabulary term. -This is necessary because the URI may not contain any explicit label. -This was the case for the IUA vocabulary until the Registry WG introduced -rewriting rules that fix the issue. - - ivoa:string - - - 0 - 1 - - - - - - DateTime - DateTime - Data type for timestamps and their representation. -Timestamps are modeled by a single value and a representation mode. -There is no time scale associated with \texttt{mango:DateTime}. -The scale is either imposed by the representation mode or defined by the -time coordinate system relevant for the host object, -usually an instance of \texttt{mango:EpochPosition}. - - - DateTime.representation - representation - Define the representation mode. -The supported values are \texttt{iso} or \texttt{dateformat} for ISO dates, \texttt{year}, \texttt{jd} or \texttt{mjd}. -The list of supported values could be extended in the future with new endorsed \texttt{xtype} values. - - - ivoa:string - - - 1 - 1 - - - - DateTime.dateTime - dateTime - The timestamp value is always given as a string. -The way to process this string is given by the representation mode. -It can represent an ISO date or a real value (e.g. for MJD mjd timestamps). - - ivoa:datetime - - - 1 - 1 - - - - - - MangoObject - MangoObject - Central model class: applied to a data table, each row can be modelled as a \texttt{MangoObject} instance. -Each \texttt{MangoObject} hosts a collection of physical or calculated parameters, -a description of the data origin and an identifier. - - MangoObject.identifier - identifier - Unique identifier of the \texttt{MangoObject}. -The uniqueness of that identifier is not managed by the model. -The format is free. - - ivoa:string - - - 1 - 1 - - - - MangoObject.propertyDock - propertyDock - Contains the open-ended collection of the \texttt{MangoObject} properties (physical, calculated or assigned). - - mango:Property - - - 0 - -1 - - - - MangoObject.associatedMangoObjects - associatedMangoObjects - Abstract reference to a particular dataset associated to the MANGO entity. -This class is used to specify the type of the associated dataset as well as its role. - - mango:AssociatedMangoObject - - - 0 - -1 - - - - MangoObject.queryOrigin - queryOrigin - Reference to the description of the origin of the \texttt{MangoObject}. - - - mango:origin.QueryOrigin - - - 0 - 1 - - - - - - DataLink - DataLink - This property describes static links pointing to some external data. -This allows services that do not implement DataLink services to expose linked data as -flattened DataLink (1.1) responses. - - mango:Property - - - DataLink.content_type - content_type - mime type of the content the link returns (see DataLink 1.1) - - ivoa:string - - - 1 - 1 - - - - DataLink.access_url - access_url - contains an URL for downloading a single resource. -There is no restriction on the type of resource accessed by the links. - - ivoa:anyURI - - - 1 - 1 - - - - DataLink.content_qualifier - content_qualifier - Gives the nature of the thing or service that is returned by the link. -The value is always interpreted as a URI. -If the access_url references a data product, the content_qualifier field -should define its product type . -In this case the content qualifier value always starts with a hash -completing the \url{http://www.ivoa.net/rdf/datalink/product-type} base URI. -For \texttt{MangoObject} not linking to data products, content_qualifier’s interpretation -will be different, and the default vocabulary will be inappropriate. Full -concept URIs will have to be used in this case. (DataLink 1.1) - - ivoa:string - - - 1 - 1 - - - - DataLink.local_semantics - local_semantics - Allows for identification of corresponding rows -for different IDs in the same DataLink service where the combination of -semantics, content_type and content_qualifier is not sufficient to identify -them (see DataLink 1.1). - - ivoa:string - - - 1 - 1 - - - - - - AssociatedMangoObject - AssociatedMangoObject - This class gives the role of a link associating 2 \texttt{MangoObject} together. - - AssociatedMangoObject.semantics - semantics - Semantic concept giving the nature of the data association. - - - mango:VocabularyTerm - - - 1 - 1 - - - - AssociatedMangoObject.description - description - Free text description of the data association - - - ivoa:string - - - 1 - 1 - - - - AssociatedMangoObject.mangoObject - mangoObject - Reference to the associated \texttt{MangoObject}. - - mango:MangoObject - - - 1 - 1 - - - - - - Property - Property - Class holder for a \textit{flavor} of property’ ie: there should be a Property subclass for each \textit{flavor} of Property being hosted. -The property types are not limited to “physical or calculated” (eg: flags, assigned labels) -This class specifies both type and role of the property, and hosts the property instance itself. - - - One association at the time - - - - Property.semantics - semantics - Reference to a semantic concept giving the nature of the property -or of the set made of the property and its associated properties. - -The semantics field contains a URI for a concept that describes the meaning of the property. -This attribute is intended to be machine-readable and to assist automated link selection, -presentation, and usage. -The value is always interpreted as a URI; relative URIs (Berners-Lee and -Fielding et al., 2005) are completed using the base URI of the core DataLink -vocabulary, http://www.ivoa.net/rdf/datalink/core. Terms from this -vocabulary must always be written as relative URIs. This means that for -concepts from the core vocabulary, the value in the semantics fieldz always -starts with a hash. (datalink1.1). -The semantics concept applies to a single property or to the set made of the property and its associated properties (e.g. position and flag). - - mango:VocabularyTerm - - - 0 - 1 - - - - Property.description - description - Free text description of the property -or of the set made of the property and its associated properties. - - - ivoa:string - - - 0 - 1 - - - - Property.associatedProperties - associatedProperties - Open-ended collection of MANGO properties associated with the \texttt{MangoObject}. -These relationships are typically used to associate physical properties with time stamps -and/or quality factors. - - - mango:Property - - - 0 - -1 - - - - - - Status - Status - Property representing a status defined by a string (numerical values must be down-casted) -that can only take on a defined number of values, each with its own description. - - - mango:Property - - - Status.status - status - Actual value of the status - - ivoa:string - - - 1 - 1 - - - - Status.allowedValues - allowedValues - List of the allowed values for the status. -Each value has its own free text description. - - mango:StatusValues - - - 1 - 1 - - - - - - Label - Label - Free text label seen as \texttt{MangoObject} property. -The meaning of the label must match the property \texttt{semantics} attribute. -This rule is not enforced by the model. -For example, the Label property can be used to associate the sky object class -of the \texttt{MangoObject} (e.g., Cataclysmic Variable) with the appropriate vocabulary. - - mango:Property - - - Label.text - text - Text of label property of the MANGO object. - - ivoa:string - - - 1 - 1 - - - - - - Footprint - Footprint - Description of the spatial extent of the MANGO object (e.g. for dust clouds). -Footprint is serialized as a string. -\begin{itemize} - \item The supported serialization modes are listed in the \texttt{ShapeSerialization} enumeration. - \item If the space coordinate system is not embedded in the serialization mode, it can be defined by the \texttt{spaceSys} reference. -\end{itemize} - - mango:Property - - - Footprint.serialization - serialization - String serialization of the spatial extension of the \texttt{MangoObject} - - ivoa:string - - - 1 - 1 - - - - Footprint.mode - mode - Serialization mode of the spatial extension of the \texttt{MangoObject} -\newline - - mango:FootprintSerialization - - - 1 - 1 - - - - Footprint.spaceSys - spaceSys - Coordinate system that applies for the footprint - - coords:SpaceSys - - - 1 - 1 - - - - - - PhysicalProperty - PhysicalProperty - Holder for any quantity that can be modeled by measure classes (Position, Time , Velocity, Polarization, ProperMotion, GenericMeasure) -as defined in the \texttt{Astronomical Measurements Model}. - - - - mango:Property - - - PhysicalProperty.calibrationLevel - calibrationLevel - Calibration level of the property as defined -in \url{http://www.ivoa.net/rdf/processing-level} - - ivoa:string - - - 1 - 1 - - - - PhysicalProperty.measure - measure - Instance of \texttt{Astronomical Measurements Model} that holds the Property value(s). - - - meas:Measure - - - 1 - 1 - - - - - - Color - Color - Property that describes a color of the \texttt{MangoObject}. -The purpose of this property is to gather a color value with its error and the 2 related filters (high and low) -The color can be given as a magnitude difference or an hardness ratio. - - - mango:Property - - - Color.value - value - Color value. - - ivoa:RealQuantity - - - 1 - 1 - - - - Color.error - error - Error on the \texttt{Color}. - - mango:error.PropertyError - - - 0 - 1 - - - - Color.colorDef - colorDef - Reference to the physical definition of the color (can be either a difference of magnitudes or a hardness ratio). - - - - mango:ColorDef - - - 1 - 1 - - - - - - ColorDef - ColorDef - Physical color definition giving the way a color is calculated (magnitude difference or hardness ratio) -and the filters on which the color is based. -In case of hardness ratio, the energy bands might be modeled as instances of \texttt{Phot:PhotometryFilter} -with a square transfert function. - - ColorDef.definition - definition - Attribute giving the way the color is calculated (magnitude difference or hardness ratio). - - mango:ColorDefinition - - - 1 - 1 - - - - ColorDef.high - high - Reference to the \texttt{Phot:PhotometryFilter} \citep{2022ivoa.spec.1101S} corresponding the higher band of the color. - - - Phot:PhotometryFilter - - - 1 - 1 - - - - ColorDef.low - low - Reference to the \texttt{Phot:PhotometryFilter} corresponding the lower band for that color. - - - Phot:PhotometryFilter - - - 1 - 1 - - - - - - StatusValues - StatusValues - Class holder for the list of the allowed values for the status. - - - StatusValues.values - values - List of the allowed values for the status; each value has its own textual description. - - mango:StatusValue - - - 1 - -1 - - - - - - StatusValue - StatusValue - Value allowed for a status; contain the value with a free text description. - - StatusValue.value - value - Allowed value for a \texttt{Status} - - ivoa:string - - - 1 - 1 - - - - StatusValue.description - description - Free text description of the allowed value for a \texttt{Status} - - ivoa:string - - - 1 - 1 - - - - - - EpochPosition - EpochPosition - This class (fig \ref{fig:EpochPosition}) is a flattened view of objects/concepts from the - Astronomical Measurements Model \citep{2022ivoa.specQ1004R} that have been put together - to form a consistent description of the position of an object moving over time. - It consists of a celestial position, a proper motion, a radial velocity and a parallax and their associated - errors encapsulated into the \texttt{EpochPositionErrors} class. - The values of these properties are pulled from the underlying Astronomical Coordinates and Coordinate Systems - model \citep{2022ivoa.spec.1004R} - -At a high level the properties map as follows: -\begin{itemize} - \item celestial position -> \texttt{meas:Position} - \item proper motion -> \texttt{meas:ProperMotion} - \item radial velocity -> \texttt{meas.Velocity} - \item parallax -> no suitable counterpart at this time -\end{itemize} - - -All components use the same coordinate systems for both time and space coordinates. - -\begin{itemize} - \item Both position and proper motion reuse \texttt{coords:LonLatPoint} elements. - \item The space coordinate system is imported from \texttt{coords:spaceSys}. - \item The time coordinate system is imported from \texttt{coords:simeSys}. -\end{itemize} - - -It is recommended to use the \texttt{ObsDate} field to store the epoch of the observation instead -of the \texttt{epoch} field of \texttt{coords:spaceSys}. -There are 2 reasons for this: -\begin{itemize} - \item Using the epoch of \texttt{coords:spaceSys} requires to work with the - \texttt{coords:CustomRefLocation} class to carry the reference location. - This class does not support the standard reference locations such as e.g. BARYCENTER. - \item the observation date can be read in a column and therefore change with each data row. - I this case, it cannot be stored as an element of the space coordinate system - but as an \texttt{EPochPosition} attribute. -\end{itemize} - -All components have their own units which must be consistent with each other. -This consistency is not enforced by the model. - -Possible correlations between \texttt{EpochPosition} parameters are handled by the \texttt{EpochPositionCorrelations} class. -Errors along the different axes are grouped in the \texttt{EpochPositionErrors} class. - -In some cases the errors might conflict with the correlations: - -\begin{itemize} - \item \texttt{Ellipse} errors on position or proper motion must not be used together with the - \texttt{longitudeLatitude} (or \texttt{pmLongitudePmLatitude}) correlation fields. - In fact, using elliptical errors implies a correlation between the two spatial axes which must not conflict - with the correlations defined in \texttt{EpochPositionCorrelations}. -\end{itemize} - - - mango:Property - - - EpochPosition.longitude - longitude - This parameter is a clone of the \texttt{coords:LonLatPoint.lat} component of \texttt{meas:Position} -but applied to the \texttt{mango:EpochPosition} context. -It matches the description given by \texttt{coords} data model: -The longitude of the Point, as a Quantity with angular units (see \texttt{coords:LonLatPoint.lon}. - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.latitude - latitude - This parameter is a clone of the \texttt{coords:LonLatPoint.lat} component of \texttt{meas:Position} -but applied to the \texttt{mango:EpochPosition} context. -It matches the description given by \texttt{coords} data model: -The latitude of the Point, as a Quantity with angular units (see \texttt{coords:LonLatPoint.lon}). - - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.parallax - parallax - The measured parallax in the coordinate system of the \texttt{EpochPosition} instance. - - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.radialVelocity - radialVelocity - This parameter is a clone of the \texttt{coords:Coords.point} component of \texttt{meas:Velocity} -but applied to the \texttt{mango:EpochPosition} context. -It matches the description given by the \texttt{coords} data model: -The measured Velocity along of the radial axis (see \texttt{meas:Velocity.coord} in \cite{2022ivoa.spec.1004R}). - - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.pmLongitude - pmLongitude - This parameter is a clone of the \texttt{coords:LonLatPoint.lon} component of \texttt{meas:ProperMotion} -but applied to the \texttt{mango:EpochPosition} context. -It matches the description given by \texttt{coords} data model: -Velocity along the longitude axis in angular distance per unit time (see \texttt{meas:ProperMotion.coord}). - - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.pmLatitude - pmLatitude - This parameter is a clone of the \texttt{coords:LonLatPoint.lat} component of \texttt{meas:ProperMotion} -but applied to the \texttt{mango:EpochPosition} context. -It matches the description given by \texttt{coords} data model: -Velocity along the latitude axis in angular distance per unit time (see \texttt{meas:ProperMotion.coord}). - - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.obsDate - obsDate - Observation date expressed within the common time system if present. -This attribute, if set, supersedes the epoch possibly given with the spatial coordinate system(see the above). - - mango:DateTime - - - 0 - 1 - - - - EpochPosition.pmCosLat_applied - pmCosLat_applied - It is common, though not universal, practice to quote longitudinal proper motion pre-multiplied -by cos(latitude) so that the magnitude of the quantity is not affected by its longitudinal position. -We do not constrain the value to one form or the other in this model. Instead, this flag enables -providers to convey whether or not the factor has been applied (see \texttt{meas:ProperMotion.cosLat_applied}) - - ivoa:boolean - - - 1 - 1 - - - - EpochPosition.errors - errors - Reference to the combined errors of the \texttt{EpochPosition} components. - - mango:EpochPositionErrors - - - 0 - 1 - - - - EpochPosition.correlations - correlations - Reference to the correlations between the \texttt{EpochPosition} components. - - mango:EpochPositionCorrelations - - - 0 - 1 - - - - EpochPosition.spaceSys - spaceSys - System that applies the space coordinates. - - coords:SpaceSys - - - 0 - 1 - - - - EpochPosition.timeSys - timeSys - System that applies the time coordinates (the epoch). - - coords:TimeSys - - - 0 - 1 - - - - - - EpochPositionErrors - EpochPositionErrors - Class holder for the errors of the EpochPosition attributes - - EpochPositionErrors.parallax - parallax - Parallax error. This error is meant to be symmetrical in the current model version. - - mango:error.PropertyError - - - 1 - 1 - - - - EpochPositionErrors.radialVelocity - radialVelocity - Error in the radial velocity. This error is meant to be symmetrical in the current model version. - - mango:error.PropertyError - - - 1 - 1 - - - - EpochPositionErrors.properMotion - properMotion - Proper motion error; can be an \texttt{Ellipse} or a \texttt{Symmetrical2D}. - - mango:error.PropertyError - - - 1 - 1 - - - - EpochPositionErrors.position - position - Position error; can be an \texttt{Ellipse} or a \texttt{Symmetrical2D}. - - mango:error.PropertyError - - - 1 - 1 - - - - - - EpochPositionCorrelations - EpochPositionCorrelations - Class holder for the correlation coefficients between the \texttt{EpochPosition} components. - - EpochPositionCorrelations.longitudeParallax - longitudeParallax - Correlation (or covariance) coefficient between the position longitude and the parallax - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.latitudeParallax - latitudeParallax - Correlation (or covariance) coefficient between the position latitude and the parallax - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.pmLongitudeParallax - pmLongitudeParallax - Correlation (or covariance) coefficient between the proper motion longitude and the parallax - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.pmLatitudeParallax - pmLatitudeParallax - Correlation (or covariance) coefficient between the proper motion latitude and the parallax - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.longitudeLatitude - longitudeLatitude - Correlation (or covariance) coefficient between the position longitude and the position latitude - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.pmLongitudePmLatitude - pmLongitudePmLatitude - Correlation (or covariance) coefficient between the proper motion longitude and the proper motion latitude - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.latitudePmLatitude - latitudePmLatitude - Correlation (or covariance) coefficient between the position latitude and the proper motion latitude - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.latitudePmLongitude - latitudePmLongitude - Correlation (or covariance) coefficient between the position latitude and the proper motion longitude - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.longitudePmLatitude - longitudePmLatitude - Correlation (or covariance) coefficient between the position longitude and the proper motion latitude - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.longitudePmLongitude - longitudePmLongitude - Correlation (or covariance) coefficient between the position longitude and the proper motion longitude - - ivoa:real - - - 0 - 1 - - - - EpochPositionCorrelations.isCovariance - isCovariance - Boolean telling whether the correlations must be interpreted as covariance or as correlation coefficients. - - ivoa:boolean - - - 0 - 1 - - - - - - Brightness - Brightness - Observed brightness of the \texttt{MangoObject}. -The purpose of this property is to gather a brightness value with its error and the its photometric calibration -The distinction between fluxes and magnitudes is made by the unit. -The photometric calibration is modeled by the \texttt{Phot} data model (1.1). - - mango:Property - - - Brightness.value - value - Brightness value. - - ivoa:RealQuantity - - - 1 - 1 - - - - Brightness.error - error - Error on the \texttt{Brightness}. - - mango:error.PropertyError - - - 0 - 1 - - - - Brightness.photCal - photCal - Photometric calibration that applies to the photometric property. -It must be an instance of \texttt{photdm:PhotCal}. - - Phot:PhotCal - - - 1 - 1 - - - - - - - - error - error - The \texttt{error} package (fig \ref{fig:error}) groups the MANGO built-in error classes. -All these classes are derived from \texttt{meas:Uncertainty} to make -them reusable by \texttt{meas:Measure} instances. Mango errors all -have an attribute that specifies the confidence level - - error.PropertyError - PropertyError - Root (abstract) class of the errors that can be attached to a MANGO property. -The class inherits from \texttt{meas:uncertainty} in order to be usable in the context -of properties based on \texttt{Measures} classes. - - error.PropertyError.confidenceLevel - confidenceLevel - Confidence level of the error. -The confidence level must be in $[0, 1]$ (not enforced by the VO-DML schema). - - ivoa:real - - - 1 - 1 - - - - error.PropertyError.distribution - distribution - Statistical distribution of the error. -The Value can a vocabulary URI (e.g. \url{https://www.ivoa.net/rdf/uat/2024-06-25/uat.html#poisson-distribution}). - - ivoa:string - - - 1 - 1 - - - - - - error.PErrorSym1D - PErrorSym1D - Symmetrical error for 1D parameters - - mango:error.PropertyError - - - error.PErrorSym1D.sigma - sigma - Amplitude of the symmetrical error on a one-dimensional parameter - - ivoa:RealQuantity - - - 1 - 1 - - - - - - error.PErrorEllipse - PErrorEllipse - Elliptic error for 2D parameters such as sky positions. -Major axis and minor axis have their own units, which must be the same for both. -This is not enforced by the model. The definition of the ellipse attribute is imported from \texttt{coords:Ellipse}. - - mango:error.PropertyError - - - error.PErrorEllipse.semiMajorAxis - semiMajorAxis - Half of the ellipse major axis - - ivoa:RealQuantity - - - 1 - 1 - - - - error.PErrorEllipse.semiMinorAxis - semiMinorAxis - Half of the ellipse minor axis - - ivoa:RealQuantity - - - 1 - 1 - - - - error.PErrorEllipse.angle - angle - In theory, this is the angle between the North Polar Cape (NPC) and the major axis. -This angle must be positive taking into account that angles are positive from North to the East. -The angle has its own unit. -In practice, the angle definition is this used by the mapped data set. -It is usually the angle between the major axis and the north axis (negative along of the clockwise direction). - - ivoa:RealQuantity - - - 1 - 1 - - - - - - error.PErrorSym2D - PErrorSym2D - Symmetrical error for 2D quantities. - - - mango:error.PropertyError - - - error.PErrorSym2D.sigma1 - sigma1 - Error on the first dimension (right ascension in case of sky coordinates) - - ivoa:RealQuantity - - - 1 - 1 - - - - error.PErrorSym2D.sigma2 - sigma2 - Error on the second dimension (declination in case of sky coordinates) - - ivoa:RealQuantity - - - 1 - 1 - - - - - - error.PErrorAsym1D - PErrorAsym1D - Asymmetrical error for 1D parameters - - mango:error.PropertyError - - - error.PErrorAsym1D.high - high - High limit for the asymmetrical error for 1D parameters - - ivoa:RealQuantity - - - 1 - 1 - - - - error.PErrorAsym1D.low - low - Low limit for the asymmetrical error for 1D parameters - - ivoa:RealQuantity - - - 1 - 1 - - - - - - - - - - origin - origin - Package grouping together all the components needed to model the origin of the \texttt{MangoObject} (fig \ref{fig:origin}). -The design of the package complies with the work of the DCP interest -group (see \url{https://ivoa.net/documents/DataOrigin/index.html}) - - origin.Article - Article - Reference article for the \texttt{MangoObject} - - origin.Article.editor - editor - Name of the article editor - - ivoa:string - - - 1 - 1 - - - - origin.Article.identifier - identifier - Identifer of the reference article - - ivoa:string - - - 1 - 1 - - - - - - origin.DataOrigin - DataOrigin - Class representing the description of the origin of the queried dataset. - - - origin.DataOrigin.ivoid - ivoid - IVOID of the underlying data collection - - ivoa:string - - - 1 - 1 - - - - origin.DataOrigin.reference_url - reference_url - Dataset landing page - - ivoa:string - - - 1 - 1 - - - - origin.DataOrigin.resource_version - resource_version - Dataset version - - ivoa:string - - - 1 - 1 - - - - origin.DataOrigin.creators - creators - Person(s) mainly involved in the creation of the resource, generally the author - - ivoa:string - - - 0 - -1 - - - - origin.DataOrigin.cites - cites - Identifier (IVOID, DOI or Bibcode) of a second Resource using relation of type \texttt{cites} (\url{https://www.ivoa.net/rdf/voresource/relationship_type/}) - - ivoa:string - - - 1 - 1 - - - - origin.DataOrigin.is_derived_from - is_derived_from - Identifiers (IVOID, DOI or Bibcode) of a second resource using relation of type \texttt{is_derived_from} -(\url{https://www.ivoa.net/rdf/voresource/relationship_type/}) - - ivoa:string - - - 0 - -1 - - - - origin.DataOrigin.original_date - original_date - Date of the original resource from which the MANGO object is derived - - ivoa:string - - - 1 - 1 - - - - origin.DataOrigin.rights - rights - Reference to the rights that apply to the data. - - ivoa:string - - - 1 - 1 - - - - origin.DataOrigin.rights_uri - rights_uri - Licence URI. Following Registry practice, this should come from SPDX (\url{https://spdx.org/licenses}), -though Creative Commons URLs (\url{https://creativecommons.org are also admitted}). - - ivoa:string - - - 1 - 1 - - - - origin.DataOrigin.articles - articles - Reference to the articles from which the data originates. - - mango:origin.Article - - - 0 - -1 - - - - - - origin.QueryOrigin - QueryOrigin - Description of the query the \texttt{MangoObject} results from. - - origin.QueryOrigin.publisher - publisher - Data center that produced the \texttt{MangoObject}. - - ivoa:string - - - 1 - 1 - - - - origin.QueryOrigin.server_software - server_software - Version of the software that produced the \texttt{MangoObject} instance. - - - ivoa:string - - - 0 - 1 - - - - origin.QueryOrigin.service_protocol - service_protocol - IVOID \citep{2007ivoa.spec.0314P} of the protocol through which the data was retrieved. - - ivoa:string - - - 1 - 1 - - - - origin.QueryOrigin.request - request - Full request URL including a query string. -For the simple protocols,put the url-encoded form of the query parameters. -For TAP queries, use the /sync UWS \citep{2016ivoa.spec.1024H} URL. The format is free for others request types. - - ivoa:string - - - 1 - 1 - - - - origin.QueryOrigin.request_date - request_date - Query execution date - - ivoa:string - - - 1 - 1 - - - - origin.QueryOrigin.query - query - Input query in a formal language such as ADQL \citep{2023ivoa.spec.1215M} - - ivoa:string - - - 1 - 1 - - - - origin.QueryOrigin.contact - contact - Email or URL to contact the publisher - - ivoa:string - - - 1 - 1 - - - - origin.QueryOrigin.ivoid - ivoid - IVOID of the service that provided the result set. - - ivoa:string - - - 1 - 1 - - - - origin.QueryOrigin.dataOrigin - dataOrigin - Description of the origin of the data to which the query was applied. - - mango:origin.DataOrigin - - - 0 - -1 - - - - - - - \ No newline at end of file diff --git a/vo-dml/desc/desc.Footprint.txt b/vo-dml/desc/desc.Footprint.txt index fe3f601..ab01b30 100644 --- a/vo-dml/desc/desc.Footprint.txt +++ b/vo-dml/desc/desc.Footprint.txt @@ -1,6 +1,6 @@ Description of the spatial extent of the MANGO object (e.g. for dust clouds). Footprint is serialized as a string. \begin{itemize} - \item The supported serialization modes are listed in the \texttt{ShapeSerialization} enumeration. + \item The supported serialization modes are listed in the \texttt{FootprintSerialization} enumeration. \item If the space coordinate system is not embedded in the serialization mode, it can be defined by the \texttt{spaceSys} reference. \end{itemize} \ No newline at end of file diff --git a/doc/model_ordered.tex b/vo-dml/trash/model_ordered.tex similarity index 100% rename from doc/model_ordered.tex rename to vo-dml/trash/model_ordered.tex