TWiki> IVOA Web>WebPreferences>UtypesTigerTeam (revision 2)EditAttach

Utypes Tiger Team

Utypes Use Cases

  • UC #1. Serialize DM instances into a file
  • UC #2. Deserialize a DM instance from a file
  • UC #3. Embed STC information into VOTables
    • UC #3.1. Embed STC information in FITS
  • UC #4. Provide an abstract (de)serialization strategy that can work with any expressive enough file format. A client can instantiate an object equivalent to the object that was originally serialized
    • UC #4.1 Trivial roundtripping
  • UC #5. Link columns in a relational model of the registry to VOResource schema elements
  • UC #6. Tag metadata in a DAL query response
  • UC #7. Render datasets/archives VO-compliant
  • UC #8. Extensions of standard DMs
  • UC #9. Support serialization of multiple instances of the same DM class
  • UC #10. Standard, machine readable DM description
    • UC #10.1 Versioning of DM descriptions
    • UC #10.2 DM descriptions should express relationships between DMs (reuse, extensions)
  • UC #11. Documentation of DM fields
  • UC #12. Query archives by DM attribute (e.g. by observation’s target name)

Current Practices and Uses

Spectrum 1.1 REC, Quality Flags: FluxAxis.Quality.n, where n is an integer. (Parsable? Anyway this is gone in Spectral 2.0)

Photometry 1.0 PR, Access class: “we use the Access class defined in ObsTAP and inherited from SSA” -> PhotometryFilter.transmissionCurve.Access.*

Photometry 1.0 PR, Spectrum is imported using the spec namespace (notice the difference with the previous approach).

Namespace (in several DMs): the namespace must be parsed out of the Utype string… but then again which is the actual Utype string?

Extensibility (e.g. NED SED): FluxAxis.Published.Value: is this Utype by any chance related to the standard FluxAxis or to Target.Name? (How can I infer it?)

Introduced as an attribute for FIELD and PARAM in VOTable 1.2:

  • Maps FIELD/PARAM to a DM attribute
  • Encourages use of the XML namespace convention for avoiding name collisions
  • Encourages use of the XML xmlns for linking to the DM
  • Highlights the usefulness of utypes for space-time coordinates and provides an example
for STC
  • Does not say anything about parsability

Redefined in SSA 1.1:

  • The goal of utypes is to “flatten a hierarchical data model so that all fields are represented
by fixed strings in a flat namespace”
  • They are introduced as “fixed” strings, but no explanation is given on the meaning of
“fixed”.
  • “Of course, if a data model becomes complex enough this will no longer be possible”
  • Introduces a serialization mechanism for multiple instances (multiple equal Utypes in the
same file), providing an example using serialization specific features, for VOTable.
  • Does not say anything explicit about parsability, however…
  • In others sections (e.g. query response metadata) other features are introduced:

Utype is built with the pseudo-grammar “<component-name>”.”<field-name>”

spec:Spectrum.Target.Name and ssa:Target.Name are the same thing.

  • More information about utypes in Section 4.2.7 (Metadata Extension Mechanism)

Redefined in Spectrum 1.1, also introducing Data Model inheritance:

  • Analogy with XPATH (‘.’ instead of ‘/’). “a.b.c.d”, dots indicate “has-a” relationship (3.5)
  • ‘Data Model Field’ and ‘Utype’ interchangeable (3.5)
  • “Other IVOA standards may use a different prefix instead of “Spectrum.” … This
represents Data Model inheritance.” (3.5)
  • “the utypes can be used to infer the data model structure” (8.2)

Most DMs define utypes in tables, using different conventions

Utypes strings can change when DMs are reused. Also, the namespace changes globally for each DM (spec:Target.Name, ssa:Target.Name)

Utypes are only partially used in FITS serializations: they can be used for columns, not for parameters: in this case, an arbitrary 8 char string is provided by the DM document.

DMs do not define an “xmlns” link to the DM URI

Minutes of telecon 2012-08-21

Persons present: Omar, Markus, Gerard, Matthew, Patrick

Points discussed (not in temporal order):

Starting with a clean slate as far as the current working draft is concerned (while harvesting from the current text what's useful): None of the persons present object.

But: We'll have to first come up with a report that summarizes current usage of utypes (plus, when we have a better idea of where we want to go, the impact of any changes to current practice). Matthew volunteers to edit this report. Markus will help out.

Omar will be editor of the working draft, and we assume Mireille will also want to be part of the effort.

Omar will circulate a list of the use cases over the DM list; there's already something on this page (http://wiki.ivoa.net/twiki/bin/view/IVOA/UtypesTigerTeam), but it needs smoothing and elaboration. Documents will end up in volute.

We need to make explicit what are the prime use cases driving utypes. Not all of the ones on the wiki may be achieveable.

Attempts to define utypes: Are they "pointers into a data model instance", much like xpath points into a XML document? That much seems not very contentious. As far as this function is concerned, it is seen that inheritance and embedding are not very well dealt with now.

"I should be able to serialize and deserialize a data model instance in any way I want" using utypes (Matthew). But we obviously need to pose additional constraints on what the target formats need to be able to to (e.g., represent key-value pairs).

What formats do we actually care about? VOTable obviously, FITS probably (though some say people that want FITS won't care about data models), SAMP messages. JSON? No agreement. CSV doesn't have enough of a header to allow utype mapping, probably.

We've got about 8 weeks until the interop. What do we want to get done by then? We want the use cases in a form so TCG/plenary/whoever can decide which absolutely have to be covered, where we as Tiger Team provide comments/suggest priorities. We also must have the overview of where utypes are already used. Telecons every two weeks.

Edit | Attach | Watch | Print version | History: r27 | r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 2012-08-21 - MarkusDemleitner
 
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