From 5422fce530d2d5e4ec32e60dac8821222b20131f Mon Sep 17 00:00:00 2001 From: Laurent MICHEL Date: Thu, 29 Aug 2024 15:42:12 +0200 Subject: [PATCH 1/6] removed because still not a standard --- .../instance_checking/vodml/mango.vo-dml.xml | 1642 ----------------- .../instance_checking/vodml/mangoOverview.png | Bin 29026 -> 0 bytes 2 files changed, 1642 deletions(-) delete mode 100644 mivot_validator/instance_checking/vodml/mango.vo-dml.xml delete mode 100644 mivot_validator/instance_checking/vodml/mangoOverview.png diff --git a/mivot_validator/instance_checking/vodml/mango.vo-dml.xml b/mivot_validator/instance_checking/vodml/mango.vo-dml.xml deleted file mode 100644 index 74e8f36..0000000 --- a/mivot_validator/instance_checking/vodml/mango.vo-dml.xml +++ /dev/null @@ -1,1642 +0,0 @@ - - mango - Data model based oon components and data association for source data - - Mango - Laurent Michel, Fran??ois Bonnarel, Gilles Landais, Mireille Louys, Marco Molinaro, Jesue Salgado - 1.0 - 0.0 - 2024-05-10T17:33:20 - - 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 - - - ShapeFrame - ShapeFrame - Possible schemes to encode a shape in a string - - - ShapeFrame.STC_S - STC_S - MOC serialization - - - ShapeFrame.MOC - MOC - STCs serialization - - - - - ShapeSerialization - ShapeSerialization - Enumeration of the supported serialization modes for the shapes - - ShapeSerialization.MOC - MOC - Label indicating that the shape has been serialized as a S-MOC - - - ShapeSerialization.STCS - STCS - Label indicating that the shape has been serialized as a STCS string - - - ShapeSerialization.POLYGON - POLYGON - Label indicating that the shape has been serialized as a polygon (cf xtypes) - - - - - CalibrationLevel - CalibrationLevel - Enumeration of different possible calibration status of the property (Obscore) - - CalibrationLevel.Raw - Raw - Raw instrumental data, in a proprietary or internal data provider defined format, -that needs instrument specific tools to be handled (ObsCore) - - - CalibrationLevel.Instrumental - Instrumental - Instrumental data in a standard format which could be manipulated with standard astronomical packages (ObsCore). - - - CalibrationLevel.Calibrated - Calibrated - Science ready data with the instrument signature removed (ObsCore) - - - - - 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 - - - 1 - 1 - - - - - - MangoObject - MangoObject - Central model class: applied to a data table, each row can be modelled as a MangoObject instance. -Each MangoObject hosts a collection of physical or calculated parameters, a collection of associated data, -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.associatedDataDock - associatedDataDock - Reference to the open-ended collection of all data associated with the \texttt{MangoObject}. - - mango:AssociatedData - - - 0 - -1 - - - - MangoObject.propertyDock - propertyDock - Reference to the open-ended collection of the \texttt{MangoObject} properties (physical or calculated). - - mango:Property - - - 0 - -1 - - - - MangoObject.dataOrigin - dataOrigin - Reference to the description of the origin of the \texttt{MangoObject}. - - - mango:dataorigin.DataOrigin - - - 0 - 1 - - - - - - AssociatedData - AssociatedData - 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. - - AssociatedData.semantic - semantic - Semantic concept giving the nature of the associated data. - - - mango:VocabularyTerm - - - 1 - 1 - - - - AssociatedData.description - description - Free text description of the associated data - - ivoa:string - - - 1 - 1 - - - - - - WebEndpoint - WebEndpoint - Associated data referenced by an URL. - - mango:AssociatedData - - - WebEndpoint.ContentType - ContentType - URL mime type. - - - ivoa:string - - - 1 - 1 - - - - WebEndpoint.url - url - Web end-point. - - ivoa:anyURI - - - 1 - 1 - - - - - - AssociatedMangoObject - AssociatedMangoObject - Class holder for linking the Mango object to another \texttt{MangoObject}. - - mango:AssociatedData - - - AssociatedMangoObject.mangoObject - mangoObject - Reference of the associated \texttt{MangoObject}. - - mango:MangoObject - - - 1 - 1 - - - - - - Property - Property - Class holder for a particular property, either physical or calculated, of the MANGO object. -This class specifies both type and role of the property, and hosts the property instance itself. - - - One association at the time - - - - Property.semantic - semantic - Reference to a semantic concept giving the nature of the property -or of the set made of the property and its associated properties. - - mango:VocabularyTerm - - - 1 - 1 - - - - Property.description - description - Free text description of the property -or of the set made of the property and its associated properties. - - - ivoa:string - - - 1 - 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 - - - 1 - -1 - - - - - - Status - Status - Property representing a status defined by a integer number -that can only take on a defined number of values, each with its own description. -Boolean status can be represented by \texttt{StatusValues} with 2 values e.g. 0 for False and 1 for True. - - mango:Property - - - Status.status - status - Actual value of the status. - - ivoa:integer - - - 1 - 1 - - - - Status.allowedValues - allowedValues - List of the allowed values for the status. -Each value has its own free text description. - - mango:StatusValues - - - 0 - 1 - - - - - - Label - Label - Free text label seen as a MANGO object property. - - mango:Property - - - Label.text - text - Text of label property of the MANGO object. - - ivoa:string - - - 1 - 1 - - - - - - Shape - Shape - Description of the spatial extension of the MANGO object (for e.g. dust clouds). - - mango:Property - - - Shape.shape - shape - String serialization of the spatial extension of the \texttt{MangoObject}. - - ivoa:string - - - 1 - 1 - - - - Shape.serialization - serialization - Serialization mode of the spatial extension of the MANGO entity. - - mango:ShapeSerialization - - - 1 - 1 - - - - Shape.spaceSys - spaceSys - Coordinate system that applies for the shape. - - coords:SpaceSys - - - 0 - 1 - - - - - - PhotometricProperty - PhotometricProperty - Observed brightness of the \texttt{MangoObject}. -The distinction between fluxes and magnitudes is made by the unit. -This property should refer to a photometric calibration as defined by the \texttt{PhotDM} model. - - mango:Property - - - PhotometricProperty.value - value - Value of the photometric property associated with a photometric calibration -as defined by the \texttt{PhotDM} model. - - ivoa:RealQuantity - - - 1 - 1 - - - - PhotometricProperty.error - error - Error on the \texttt{PhotometricProperty}, imported from \texttt{meas:Uncertainty}. - - meas:Uncertainty - - - 0 - 1 - - - - PhotometricProperty.photCal - photCal - Photometric calibration that applies to the photometric property. -It must be an instance of \texttt{Phot:PhotCal}. - - Phot:PhotCal - - - 1 - 1 - - - - - - PhysicalProperty - PhysicalProperty - Place holder for any quantity that can be hold by measure as defined in the -\texttt{Astronomical Measurements Model}. - - mango:Property - - - PhysicalProperty.calibrationLevel - calibrationLevel - Calibration level of the property (ObsCore). - - mango:CalibrationLevel - - - 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 color is not an intrinsic property of the MANGO object, -but a value relative to two filters or energy bands. - - - mango:PhotometricProperty - - - Color.colorDef - colorDef - Color definition. -Can be either a difference of magnitudes or a hardness ratio. - - - - mango:ColorDef - - - 1 - 1 - - - - - - ColorDef - ColorDef - Class holder for a color definition. -This definition includes how the color is calculated (Mag or HR) -and the filters on which the color is based. -In case of hardness ratio, the energy bands must be modeled as instances of \texttt{Phot:PhotFilter} -with a flat transfert function. - - ColorDef.definition - definition - Attribute giving the way the color is calculated (Mag or HR). - - mango:ColorDefinition - - - 1 - 1 - - - - ColorDef.high - high - Reference to the \texttt{Phot:PhotFilter} corresponding the higher band of the color. - - - Phot:PhotFilter - - - 1 - 1 - - - - ColorDef.low - low - Reference to the \texttt{Phot:PhotFilter} corresponding the lower band for that color. - - - Phot:PhotFilter - - - 1 - 1 - - - - - - BitField - BitField - Property state for which each possible value is represented by a bit, -so that multiple states can be contained in the same numerical value. -The values defined in the related \texttt{StatusValues} must correspond to a bit patterns. -This constraint is not enforced by the model. - - mango:Status - - - - - 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:integer - - - 1 - 1 - - - - StatusValue.description - description - Free text description on the allowed value for a \texttt{Status} - - ivoa:string - - - 1 - 1 - - - - - - EpochPosition - EpochPosition - This class is a view of \texttt{Astronomical Coordinates and Coordinate -Systems} components 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. -All components share the same coordinate systems for both time and space coordinates. - -\begin{itemize} - \item Both position and proper motion reuse the \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:timeSys}. -\end{itemize} - -The \texttt{EpochPosition} error is modeled by specific classes supporting covariance -and/or correlation between components. - -All individual components have their own units which must be consistent to each others. -This consistency is not enforced by the model. - - - mango:Property - - - EpochPosition.longitude - longitude - The longitude of the Point, as a Quantity with angular units (see \texttt{coords:LonLatPoint.lon}. - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.latitude - latitude - The latitude of the Point, as a Quantity with angular units (see \texttt{coords:LonLatPoint.lat}. - - 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 - The measured Velocity along of the radius axis (see \texttt{meas:Velocity.coord}). - - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.pmLongitude - pmLongitude - Velocity along the longitude axis in angular distance per unit time (see \texttt{meas:ProperMotion.coord}). -The current version of the model only allows a representation in the Polar coordinate space. - - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.pmLatitude - pmLatitude - Velocity along the latitude axis in angular distance per unit time (see \texttt{meas:ProperMotion.coord}). -The current version of the model only allows a representation in the Polar coordinate space. - - - ivoa:RealQuantity - - - 1 - 1 - - - - EpochPosition.epoch - epoch - Position epoch expressed within the common time system (see \texttt{coords:epoch}) - - coords:Epoch - - - 1 - 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 - - mango:error.PropertyError1D - - - 0 - 1 - - - - EpochPositionErrors.radialVelocity - radialVelocity - Error in the radial velocity. This error is meant to be symmetrical - - mango:error.PropertyError1D - - - 0 - 1 - - - - EpochPositionErrors.position - position - Position error; can be an ellipse, a correlation matrix or a covariance matrix. - - mango:error.PropertyError2D - - - 0 - 1 - - - - EpochPositionErrors.properMotion - properMotion - Position error; can be an ellipse, a correlation matrix or a covariance matrix. - - mango:error.PropertyError2D - - - 0 - 1 - - - - - - EpochPositionCorrelations - EpochPositionCorrelations - Class holder for the correlation coefficients between the \texttt{EpochPosition} components. - - EpochPositionCorrelations.positionPm - positionPm - Correlation matrix between the position and the proper motion. - - mango:correlation.Correlation22 - - - 0 - 1 - - - - EpochPositionCorrelations.parallaxPm - parallaxPm - Correlation matrix between the parallax and the proper motion. - - mango:correlation.Correlation12 - - - 0 - 1 - - - - EpochPositionCorrelations.positionParallax - positionParallax - Correlation matrix between the position and the parallax. - - mango:correlation.Correlation21 - - - 0 - 1 - - - - EpochPositionCorrelations.positionPosition - positionPosition - Self correlation matrix of the position. - - mango:correlation.Correlation22 - - - 0 - 1 - - - - EpochPositionCorrelations.properMotionPm - properMotionPm - Self correlation matrix of the proper motion. - - mango:correlation.Correlation22 - - - 0 - 1 - - - - - - - - error - error - The \texttt{error} package 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. - - meas:Uncertainty - - - 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.PropertyError1D - PropertyError1D - Symetrical error for 1D parameters - - mango:error.PropertyError - - - error.PropertyError1D.sigma - sigma - Magnitude of error on a one-dimensional parameter - - ivoa:RealQuantity - - - 1 - 1 - - - - - - error.ErrorCovMatrix - ErrorCovMatrix - Covariance matrix for the error of a 2D quantities. -The covariance matrix is symmetrical. - - mango:error.PropertyError2D - - - error.ErrorCovMatrix.variance1 - variance1 - Variance of the first dimension (right ascension in case of sky coordinates) - - ivoa:RealQuantity - - - 1 - 1 - - - - error.ErrorCovMatrix.variance2 - variance2 - Variance of the second dimension (declination in case of sky coordinates) - - ivoa:RealQuantity - - - 1 - 1 - - - - error.ErrorCovMatrix.covariance - covariance - Covariance of the 2 axis - - ivoa:RealQuantity - - - 1 - 1 - - - - - - error.Ellipse - Ellipse - 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. - - mango:error.PropertyError2D - - - error.Ellipse.semiMajorAxis - semiMajorAxis - Half of the ellipse major axis - - ivoa:RealQuantity - - - 1 - 1 - - - - error.Ellipse.semiMinorAxis - semiMinorAxis - Half of the ellipse minor axis - - ivoa:RealQuantity - - - 1 - 1 - - - - error.Ellipse.angle - angle - Angle between the North Polar Cape (NCP) 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. - - ivoa:RealQuantity - - - 1 - 1 - - - - - - error.PropertyError2D - PropertyError2D - Super (abstract) class for all errors of 2D parameters - - mango:error.PropertyError - - - - - error.ErrorCorrMatrix - ErrorCorrMatrix - Correlation matrix for the error of a 2D quantities. -The correlation matrix is symmetrical. - - - mango:error.PropertyError2D - - - error.ErrorCorrMatrix.sigma1 - sigma1 - Error on the first dimension (right ascension in case of sky coordinates) - - ivoa:RealQuantity - - - 1 - 1 - - - - error.ErrorCorrMatrix.sigma2 - sigma2 - Error on the second dimension (declination in case of sky coordinates) - - ivoa:RealQuantity - - - 1 - 1 - - - - error.ErrorCorrMatrix.correlation - correlation - Correlation coefficient between the 2 axis - - ivoa:real - - - 1 - 1 - - - - - - - - - - correlation - correlation - Package grouping together all the components needed to model the correlations between property attributes. - - correlation.Correlation12 - Correlation12 - Correlation of a 1D property (A) with a 2D parameter (B): -$A = a1b1 * B_1 + a12 * B_2$ - - mango:correlation.QuantityCorrelation - - - correlation.Correlation12.correlation11 - correlation11 - Correlation coefficient giving the contribution of the first axis of \texttt{B} -to \texttt{A} - - ivoa:RealQuantity - - - 1 - 1 - - - - correlation.Correlation12.correlation12 - correlation12 - Correlation coefficient giving the contribution of the second axis of \texttt{B} -to \texttt{A} - - ivoa:RealQuantity - - - 1 - 1 - - - - - - correlation.QuantityCorrelation - QuantityCorrelation - Abstract type for the correlation parameters of 2 quantities - - correlation.QuantityCorrelation.isCovariance - isCovariance - Boolean telling whether the correlations must be interpreted as covariance or as correlation coefficients. - - ivoa:boolean - - - 0 - 1 - - - - - - correlation.Correlation11 - Correlation11 - Correlation coefficient giving the contribution of the second axis of \texttt{B} -to the second axis of \texttt{A}. - - mango:correlation.QuantityCorrelation - - - correlation.Correlation11.correlation11 - correlation11 - Correlation coefficient giving the contribution of \texttt{B} -to \texttt{A} - - ivoa:RealQuantity - - - 1 - 1 - - - - - - correlation.Correlation22 - Correlation22 - Correlation of a 2D property (A) with a 2D parameter (B): -$A_1 = a11 * B_1 + a12 * B_2 $ -$A_2 = a21 * B_1 + a22 * B_2 $ - - mango:correlation.QuantityCorrelation - - - correlation.Correlation22.sigma1 - sigma1 - Correlation coefficient giving the contribution of the second axis of \texttt{B} -to the first axis of \texttt{A}. - - ivoa:RealQuantity - - - 1 - 1 - - - - correlation.Correlation22.sigma2 - sigma2 - Correlation coefficient giving the contribution of the second axis of \texttt{B} -to the first axis of \texttt{A}. - - ivoa:RealQuantity - - - 1 - 1 - - - - correlation.Correlation22.correlation - correlation - Correlation coefficient giving the contribution of the second axis of \texttt{B} -to the first axis of \texttt{A}. - - ivoa:RealQuantity - - - 1 - 1 - - - - - - correlation.Correlation21 - Correlation21 - Correlation of a 2D property (A) with a 1D parameter (B): -$A_1 = a11 * B$ -$A_2 = a21 * B$ - - mango:correlation.QuantityCorrelation - - - correlation.Correlation21.correlation11 - correlation11 - Correlation coefficient giving the contribution of \texttt{B} -to the first axis of \texttt{A} - - ivoa:RealQuantity - - - 1 - 1 - - - - correlation.Correlation21.correlation21 - correlation21 - Correlation coefficient giving the contribution of \texttt{B} -to the second axis of \texttt{A} - - ivoa:RealQuantity - - - 1 - 1 - - - - - - - - - - dataorigin - dataorigin - Package grouping together all the components needed to model the origin of \texttt{MangoObject}. - - dataorigin.DataOrigin - DataOrigin - Class representing the origin of the data following the DCP note (TBD) - - dataorigin.DataOrigin.citation - citation - Dataset identifier that can be used for citation (e.g. DOI) - - ivoa:string - - - 1 - 1 - - - - dataorigin.DataOrigin.reference_url - reference_url - Dataset landing page - - ivoa:string - - - 1 - 1 - - - - dataorigin.DataOrigin.resource_version - resource_version - Dataset version - - ivoa:string - - - 1 - 1 - - - - dataorigin.DataOrigin.creator - creator - Person(s) mainly involved in the creation of the resource, generally the author - - ivoa:string - - - 1 - 1 - - - - dataorigin.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 - - - - dataorigin.DataOrigin.is_derived_from - is_derived_from - Identifier (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 - - - 1 - 1 - - - - dataorigin.DataOrigin.original_date - original_date - Date of the original resource from which the MANGO object is derived - - ivoa:datetime - - - 1 - 1 - - - - dataorigin.DataOrigin.query - query - Description of the request from which the data originates. - - mango:dataorigin.QueryOrigin - - - 0 - 1 - - - - dataorigin.DataOrigin.rights - rights - Reference to the rights that apply to the data. - - mango:dataorigin.License - - - 0 - 1 - - - - dataorigin.DataOrigin.article - article - Reference to the article from which the data originates. - - mango:dataorigin.Article - - - 0 - 1 - - - - - - dataorigin.Article - Article - Reference article for the MANGO entity - - dataorigin.Article.editor - editor - Editor name (article) - - ivoa:string - - - 1 - 1 - - - - dataorigin.Article.article - article - Bibcode or DOI of the reference article - - ivoa:string - - - 1 - 1 - - - - - - dataorigin.QueryOrigin - QueryOrigin - Description of the query the MANGO instance results from. - - dataorigin.QueryOrigin.ivoid - ivoid - IVOID of the underlying data collection - - ivoa:string - - - 1 - 1 - - - - dataorigin.QueryOrigin.publisher - publisher - Data center that produced the MANGO instance - - ivoa:string - - - 1 - 1 - - - - dataorigin.QueryOrigin.server_software - server_software - Version of the software the produced the MANGO object instance. -It is encouraged to follow \url{https://ivoa.net/documents/Notes/softid/index.html}. - - ivoa:string - - - 1 - 1 - - - - dataorigin.QueryOrigin.service_protocol - service_protocol - IVOID of the protocol through which the data was retrieved - - ivoa:string - - - 1 - 1 - - - - dataorigin.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 URL. The format is free for others request types. - - ivoa:string - - - 1 - 1 - - - - dataorigin.QueryOrigin.query - query - Input query in a formal langage such as ADQL.equest types - - ivoa:string - - - 1 - 1 - - - - dataorigin.QueryOrigin.request_date - request_date - Query execution date - - ivoa:datetime - - - 1 - 1 - - - - dataorigin.QueryOrigin.contact - contact - Email or URL to contact the publisher - - ivoa:string - - - 1 - 1 - - - - - - dataorigin.License - License - Place holder for the license covering the MANGO instance - - dataorigin.License.rights_uri - rights_uri - Licence URI. Following Registry practice, this should come from SPDX https://spdx.org/licenses/, -though Creative Commons URLs https://creativecommons.org are also admitted. - - ivoa:string - - - 1 - 1 - - - - dataorigin.License.rights - rights - License or Copyright text - - ivoa:string - - - 1 - 1 - - - - - - - \ No newline at end of file diff --git a/mivot_validator/instance_checking/vodml/mangoOverview.png b/mivot_validator/instance_checking/vodml/mangoOverview.png deleted file mode 100644 index e71f674571b3620c904b19de39e6a765f2f7c1a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29026 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 I%DxHyKdOfPZ~y=R From 447275f00b90cfb6b34c7100cf73fc2b5b31c298 Mon Sep 17 00:00:00 2001 From: Laurent MICHEL Date: Thu, 29 Aug 2024 15:42:36 +0200 Subject: [PATCH 2/6] doc update --- README.md | 6 +++--- docs/index.rst | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index d45bd2d..f193ac4 100644 --- a/README.md +++ b/README.md @@ -94,10 +94,10 @@ There are two snippet generators available in this package: ```bash $ mivot-snippet-model [VODML path or url] -USAGE: mivot-snippet-model [path] [output_dir] +USAGE: mivot-snippet-model [url] [output_dir] Create MIVOT snippets from VODML files - path: either a simple file to any VODML-Model or an ur - output_dir: (optional) path to the chosen output directory (session working directory by default) + url: url of any VODML-Model (must be prefixed with file:// in case of local file) + output_dir: path to the chosen output directory (session working directory by default) exit status: 0 in case of success, 1 otherwise ``` diff --git a/docs/index.rst b/docs/index.rst index 2dcc0b4..d456233 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -129,10 +129,10 @@ Build all MIVOT snippets for a model $ mivot-snippet-model [VODML path or url] - USAGE: mivot-snippet-model [path] [output_dir] + USAGE: mivot-snippet-model [url] [output_dir] Create MIVOT snippets from VODML files - path: either a simple file to any VODML-Model or an ur - output_dir: (optional) path to the chosen output directory (session working directory by default) + url: url of any VODML-Model (must be prefixed with file:// in case of local file) + output_dir: path to the chosen output directory(session working directory by default) exit status: 0 in case of success, 1 otherwise Build the MIVOT snippet for one model class with resolving abstract types: From 1710f68986195a4708ac83f411fde4ed67a0a373 Mon Sep 17 00:00:00 2001 From: Laurent MICHEL Date: Thu, 29 Aug 2024 15:45:14 +0200 Subject: [PATCH 3/6] support for forcing (re)loading a model --- mivot_validator/utils/session.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mivot_validator/utils/session.py b/mivot_validator/utils/session.py index 75de0dd..e31f1d5 100644 --- a/mivot_validator/utils/session.py +++ b/mivot_validator/utils/session.py @@ -61,7 +61,6 @@ def __init__(self): "Phot", "https://ivoa.net/xml/VODML/Phot-v1.vodml.xml" ) - self.install_local_vodml("mango") logger.info( f"setup session in {self.tmp_dirname} ({os.getpid()})" @@ -79,13 +78,13 @@ def _get_model_path(self, model_name): """ return os.path.join(self.vodml_path, f"{model_name}.vo-dml.xml") - def install_vodml(self, model_name, url): + def install_vodml(self, model_name, url, force=False): """ Install the model model_name from the give, url or from the vodml files located in the package in case of failure """ - if self._is_model_here(model_name): + if self._is_model_here(model_name) and not force: logger.info(f"{model_name} already here") return True @@ -100,6 +99,7 @@ def install_vodml(self, model_name, url): except Exception as exception: logger.error(f"error fetching URL {url}") logger.error(f"{exception}") + raise FileNotFoundError from exception return False def install_local_vodml(self, model_name): From eadc6e6155dc7a171e678efbba9d2ec17a129a7f Mon Sep 17 00:00:00 2001 From: Laurent MICHEL Date: Thu, 29 Aug 2024 15:45:32 +0200 Subject: [PATCH 4/6] move to v 0.1 --- mivot_validator/version.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mivot_validator/version.py b/mivot_validator/version.py index 3b93d0b..a4e2017 100644 --- a/mivot_validator/version.py +++ b/mivot_validator/version.py @@ -1 +1 @@ -__version__ = "0.0.2" +__version__ = "0.1" From a494ba0ecb2773ff8e2d7bcb1f1c561b2155f92f Mon Sep 17 00:00:00 2001 From: Laurent MICHEL Date: Thu, 29 Aug 2024 15:46:06 +0200 Subject: [PATCH 5/6] load model in constructor --- mivot_validator/instance_checking/model_snippets_builder.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mivot_validator/instance_checking/model_snippets_builder.py b/mivot_validator/instance_checking/model_snippets_builder.py index 365a290..3f123ad 100644 --- a/mivot_validator/instance_checking/model_snippets_builder.py +++ b/mivot_validator/instance_checking/model_snippets_builder.py @@ -28,7 +28,7 @@ def __init__(self, vodml_path, session): .split("_")[0] .split("-")[0] ) - + session.install_vodml(self.model_name, vodml_path, force=True) super().__init__(self.model_name, "", session) def build(self): From aa621981da9b612cd4c99a5b6d91e9e047e3b393 Mon Sep 17 00:00:00 2001 From: Laurent MICHEL Date: Thu, 29 Aug 2024 15:46:56 +0200 Subject: [PATCH 6/6] support relative path for output --- .../launchers/model_snippets_launcher.py | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/mivot_validator/launchers/model_snippets_launcher.py b/mivot_validator/launchers/model_snippets_launcher.py index 210e926..497426a 100644 --- a/mivot_validator/launchers/model_snippets_launcher.py +++ b/mivot_validator/launchers/model_snippets_launcher.py @@ -24,9 +24,9 @@ def main(): Package launcher (script) """ if len(sys.argv) < 2: - print("USAGE: mivot-snippet-model [path] ") + print("USAGE: mivot-snippet-model [url] ") print(" Create MIVOT snippets from VODML files") - print(" path: either a simple file to any VODML-Model or an url") + print(" url: url of any VODML-Model (must be prefixed with file:// in case of local file)") print( " output_dir: path to the chosen output directory" "(session working directory by default)" @@ -35,14 +35,18 @@ def main(): sys.exit(1) session = Session() - print(sys.argv) - # id output is not absolute use the default session work dir - if len(sys.argv) > 3 and os.path.isabs(sys.argv[2]): - output_dir = os.path.dirname(sys.argv[2]) + + # if output is not absolute use the default session work dir + if len(sys.argv) >= 2 and os.path.isdir(sys.argv[2]): + output_dir = os.path.abspath(sys.argv[2]) session.tmp_data_path = output_dir vodml_path = check_args(sys.argv[1]) - snippet = ModelBuilder(vodml_path, session) + try: + snippet = ModelBuilder(vodml_path, session) + except Exception: + sys.exit(1) + if snippet.build(): folder = os.path.basename( sys.argv[1] @@ -50,7 +54,7 @@ def main(): print("\n===============================================") print( f"Snippets generated in " - f"{session.tmp_data_path} \nin the folder : " + f"{session.tmp_data_path} \n in the folder : " f"{folder}" ) print("===============================================\n") @@ -68,7 +72,7 @@ def check_args(args): :return: local path """ local_vodml_path = args - if urlparse(args).scheme: + if not urlparse(args).scheme: temp_dir = "tmp_vodml" os.makedirs(temp_dir, exist_ok=True) local_vodml_path = os.path.join(temp_dir, os.path.basename(args))