Difference: TransfRFC ( vs. 1)

Revision 12019-10-29 - LaurentMichel

 
META TOPICPARENT name="IvoaDataModel"
Page under construction

STC2:Transf Proposed Recommendation: Request for Comments


Summary

Version 1 of STC was developed in 2007, prior to the development and adoption of vo-dml modeling practices. As we progress to the development of vo-dml compliant component models, it is necessary to revisit those models which define core content. Additionally, the scope of the STC-1.0 model is very broad, making a complete implementation and development of validators, very difficult. As such it may be prudent to break the content of STC-1.0 into component models itself, which as a group, cover the scope of the original.

This effort will start from first principles with respect to defining a specific project use-case, from which requirements will be drawn, satisfied by the model, and implemented in the use-case. We will make use of the original model to ensure that the coverage of concepts is complete and that the models will be compatible. However, the form and structure may be quite different. This model will use vo-dml modeling practices, and model elements may be structured differently to more efficiently represent the concepts.

This model covers the description of measured or determined astronomical data, and includes the following concepts:

  • The association of the determined ’value’ with corresponding errors. In this model, the ’value’ is given by the various Coordinate types of the Coordinates data model (Rots and Cresitello-Dittmar et al., 2019).
  • A description of the Error model.
The Latest version of the model and supporting docs:
  • Model document: here
  • VO-DML/XML representation: here
  • XML Schema: here

Implementation Requirements

(from DM Working group twiki):

The "IVOA Document Standards" standard has a broad outline of the implementation requirements for IVOA standards. These requirements fit best into the higher level standards for applications and protocols than for data models themselves. At the Oct 2017 interop in Trieste, the following implementation requirements for Data Model Standards was agreed upon, which allow the models to be vetted against their requirements and use cases, without needing full science use cases to be implemented.

  • VO-DML models must validate against schema
  • Serializations which touch each entity of the model. These serializations may be 'fake' (ie: not based on actual data files), and are to be produced by the modeler as unit tests/examples.
  • Real world serializations covering use cases, produced by others following the model, in a mutually agreed upon format.
  • Software which interprets these serializations and demonstrates proper interpretation of the content

Serializations:

  • Modeler Generated Examples:
    • using home grown python code, the modeler has generated example serializations which span all elements of the model. The examples are generated in 4 formats:
      • VOTable-1.3 standard syntax; Validates using votlint
      • VOTable-1.3 annotated with VO-DML/Mapping syntax; Validates using xmllint to a VOTable-1.3 schema enhanced with an imported <a target="_top" href="https://volute.g-vo.org/svn/trunk/projects/dm/vo-dml/xsd/votable_ext/VOTable-1.4_vodml.xsd">VO-DML mapping syntax schema</a>
      • XML format; Validates against the model schema
      • An internal DOC format; XML/DOM structure representing the instances generated when interpreting the instance templates.
  • Real world serializations:
    • jovial: A set of example serializations of various Coordinate and Measurement instances generated by Omar Laurino using his Jovial DSL package
      • <a target="_blank" href="https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/03/Coords.html">https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/03/Coords.html</a>
      • <a target="_top" href="https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/02/STC-current.html">https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/02/STC-current.html</a> - examples of Measurement and Coords based on earlier versions of the models
    • TDIG: Working project of Time Series as Cube.
      • Example serializations have been generated using various annotation schemes to identify the model elements: <a target="_top" href="https://volute.g-vo.org/svn/trunk/projects/time-domain/time-series/standardized_votables/">here</a>.
        • these include elements from the Measurement and Coordinates models
    • Cube: Example files for Cube ( nD-Image and Sparce Cube ) incorporate Measurement and Coordinate model instances

Software:

  • vodml Parser: Notebook developed by Omar Laurino parses vo-dml/Mapping annotation to generate instances of TimeSeries -Cube-Meas-Coord using <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/AstroPy?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="AstroPy (this topic does not yet exist; you can create it)">AstroPy</a> and generates plots of the content using Matplotlib. Note: this was developed and presented in 2017 using earlier drafts of the models. These vary only in detail, and the demo could be updated to the current model suite.
    • <a target="_top" href="https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/10/PythonParserDemo.html">https://olaurino.gitlab.io/ivoa-dm-examples/0000/01/10/PythonParserDemo.html</a>
  • TDIG: Working project of Time Series as Cube.
    • An ongoing project is underway to enhance SPLAT to load/interpret/analyze TimeSeries data. This was most recently presented at the IVOA Interop in Paris 2019 (see <a target="_top" href="https://wiki.ivoa.net/internal/IVOA/InterOpMay2019TDIG/splat_timeseries.pdf">PDF</a>)
    • The tool currently uses a combination of TIMESYS, table column descriptions, UCDs and UTypes to identify and interpret the data automatically. Each of these are annotation schemes which tie directly to model components.
    • Delays in resolving on a standard annotation syntax has delayed progress on this project to fully realize the possibilities. This is a high-priority for upcoming work.
  • pyVO: extract_skycoord_from_votable()
    • Demonstrated at the IVOA Interop in Paris 2019, this product of the hack-a-thon generates <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/AstroPy?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="AstroPy (this topic does not yet exist; you can create it)">AstroPy</a> <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/SkyCoord?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="SkyCoord (this topic does not yet exist; you can create it)">SkyCoord</a> instances from VOTables using various elements embedded in the VOTable.
      • Interrogates a VOTable-1.3 serialization, identifies key information and uses that to automatically generate instances of <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/SkyCoord?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="SkyCoord (this topic does not yet exist; you can create it)">SkyCoord</a>.
        • UCD: 'pos.eq.ra', 'pos.eq.dec'
        • COOSYS.system: "ICRS", "FK4", "FK5"
        • COOSYS.equinox
      • The COOSYS maps directly to <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/SpaceFrame?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="SpaceFrame (this topic does not yet exist; you can create it)">SpaceFrame</a>, and the value of the system
      • The UCD 'pos.eq' maps directly to meas:EquatorialPosition; with 'pos.eq.ra|dec' identifying the corresponding attributes (<a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/EquatorialPosition?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="EquatorialPosition (this topic does not yet exist; you can create it)">EquatorialPosition</a>.ra|dec) as coordinates coords:Longitude and coords:Latitude.
      • This illustrates that even with minimal annotation, this sort of automatic discovery/instantiation can take place. With a defined annotation syntax, this utility could be expanded to generate other <a rel="nofollow" href="https://wiki.ivoa.net/twiki/bin/edit/IVOA/AstroPy?topicparent=IVOA.CoordsRFC;nowysiwyg=0" title="AstroPy (this topic does not yet exist; you can create it)">AstroPy</a> objects very easily.

Validators

As noted above, the serializations may be validated to various degrees using the corresponding schema

  • VOTable-1.3 using votlint: verifies the serialization complies with VOTable syntax
  • VOTable-1.3 + VODML: verifies the serialization is properly annotated
  • XML using xmllint with model schema: verifies the serialization is a valid instance of the model.
  • NOTE: The modeler examples undergo all levels of validation, showing that the VOTable serializations are also valid instances of the model.
I don't believe there are validators for the various software utilities. Their purpose is to show that given an agreed serialization which can be mapped to the model(s), the data can be interpreted in an accurate and useful manner.

Links with Coords

The Measurement model is heavily dependent on the Coordinates model (also in RFC) for its core elements. Information about its relation to the Coordinates model, and how the requirements are distributed can be found on the STC2 page

Comments from the IVOA Community during RFC/TCG review period: year-month-day - year-month-day

Comments from TCG member during the RFC/TCG Review Period: year-month-day - year-month-day

2019-10-21

TCG Chair & Vice Chair

Standards and Processes Committee

TCG Vote:

If you have minor comments (typos) on the last version of the document please indicate it in the Comments column of the table and post them in the TCG comments section above with the date.

Group Yes No Abstain Comments
TCG        
Apps        
DAL        
DM        
GWS        
Registry        
Semantics        
DCP        
KDIG        
SSIG        
Theory        
TD        
Ops        
<nop>StdProc        


<--  
-->
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback