Skip to content

Representation of Data node in the model #1

@mcdittmar

Description

@mcdittmar

In the kick-off meeting for Spectrum-1.2 RFE, we decided (at my request) that it would be OK to modernize the diagrams in the document to actual UML diagrams, but we want to minimize the overall changes to the document.

As I mentioned then, there are some inconsistencies between the diagrams and the model schema (xsd).
This ticket is to address one such inconsistency.

In short:

  • the diagram shows Data as a set of DataAxes with arrays 1:Length of Value, Quantity, Accuracy
  • the schema shows Data as an array of Points, each containing a set of DataAxes with 0:1 Value, Quantity, Accuracy
    • since UTypes are not used here, there is no real mapping of XML to the model. ie: there is no model element (UType) which the node "<Point>" represents.
  • the text uses the term 'point' quite a lot, which I think can be interpreted either way.
  • example instances
    • XML instance matches schema
    • VOTable instance; Groups match diagrams
    • FITS instance, very flat with just UType tags, impossible to isolate groupings.

The inconsistencies seem to be related to the 'natural' serialization in the different formats:
+ XML: easier/clearer to provide multiple instances of Point
+ VOTable: easier/clearer to point to the 'FIELD' containing all values of the same measure. In fact, it would not be possible to express an array of Points using VOTable syntax.

Proposal/Plan:
These are the issues that VODML and the annotation syntax are meant to address.
So, for the purposes of this update, I think the best course is to replace the diagrams as they currently are. Perhaps we can/should add some language to the XML section to address the structural difference in the serialization from the model.


Details:

  • Section 3.1: Model Components
    • describes "spectrum is a set of one or more data points"... and "Specifically, a spectrum will have arrays of the following values:" listing Flux value, Spectral coordinate, Quality and Resolution as possible contents.
    • IMO: this is confusing, described as an array of 'points' and as an array of each measured property.
  • Section 3.2: Use Cases and Required Fields
    • contains all the model diagrams;
    • Figure 2 shows the Data node
      • contains n 'DataAxis' elements (one for each measure - SpectralAxis, FluxAxis, etc. )
      • each DataAxis contains an array of values. ie: 1..Spectrum.Length of Value, Quality, Accuracy, Resolution
    • The text contains the minimal required content
      • the last bullet says: "For each point: the values of the spectral coordinate and flux."
  • Section 7: XML schema serialization
    • embeds the model schema file
    • "In the following XML schema, we implement the model fairly directly."
    • "Within a spectrum the data points are kept together in objects called Point."
    • which indeed defines Data node
      • contains an array of Point
      • Point contains a single instance of each measure; SpectralAxis, FluxAxis, etc
        • each Axis type contains 0..1 of each Value, Accuracy, Resolution
      • there is also an alternate flavor of Point which flattens the Axis content (Value, Quality, Accuracy, Resolution) into 1 node

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions