Skip to content

main ID usage #53

Description

@molinaro-m

REC-ConeSearch-1.03 states that in the response table:

Exactly one FIELD must have ucd="ID_MAIN", with an array character type (fixed or variable length), representing an ID string for that record of the table. This identifier may not be repeated in the table, and it could be used to retrieve that same record again from that same table.

That is, a main identifier is required in the response and this request's goal is to have an handle on the specific record (not necessarily unique) in the catalogue.

However catalogue providers might have different use case for identifiers:

  • catalogue internal unique identifiers
  • globally/universally unique identifiers
  • no need for unique or main identifiers

Should we modify the main ID behaviour in ConeSearch (while moving to UCD1+, see issue #20)?

Back compatibility will still require to have one (and only one) FIELD with ucd="meta.id;meta.main" (going for the easiest mapping on UCDs), but maybe some other solutions, based on practical use case, can be considered.

Activity

  1. gilleslandais commented on Feb 16, 2021

    @gilleslandais

    VizieR feebacks on ID_MAIN usage.

    agree that ID_MAIN are assigned for a unique column in a table. But in VizieR the ID_MAIN doesn't imply a unique identifier in the column (it is not a primary key).

    In fact, there is an ambiguity with ID_MAIN semantic used in conesearch and in the UCD definition.
    The UCD definition defines ID_MAIN as "Main Identifier of a Celestial Object" (table having several lines for a same object is possible).

    So considering the current conesearch, there are conesearch which are not compliant due to this ambiguity (each table in VizieR having positions is served by a conesearch)-
    Moreover, the type of ID_MAIN columns are not always a string (ex: Gaia).
    ..but in an other hand, these columns are compliant with the UCD definitions.

    Today the ID_MAIN columns of VizieR conesearch contain only identifiers to get one or more lines which matches the same object name. These identifiers are not universal because they could be a technical id.

  2. msdemlei commented on Feb 17, 2021

    @msdemlei
    Collaborator
  3. gilleslandais commented on Mar 3, 2021

    @gilleslandais

    I just see that there aren't any meta.main;meta.id in ObscoreDM - obs_id for example identifies an observation but not necessary a unique record (ObsCore-v1.1, section 3.3.3)
    so , if we consider that the main identifiers in conesearch consists to link the original dataset, I am not not convinced about unicity - ObsCore table is an example

    An other point - may be out of context - what do you think about meta.record instead of meta.main;meta.id ?
    meta.record sounds indeed as a technical identifier (to link a table) as "meta.id;meta.main". But the second could be also considered as a known identifier like a "universal" identifier , a IAU name , a Jname or ..

  4. msdemlei commented on Mar 4, 2021

    @msdemlei
    Collaborator
  5. molinaro-m commented on Sep 5, 2025

    @molinaro-m
    MemberAuthor

    The current text is not clear. It says may not be repeated and could be used.
    So the uniqueness in the table context is not at stack.
    It is meta.id;meta.main that can be set on one column only.

    So maybe this issue can be simply closed and the record identification discussion postponed to ConeSearch-2.0 as suggested by Markus.

  6. added a commit that references this issue on Aug 5, 2026
  7. molinaro-m commented on Sep 30, 2026

    @molinaro-m
    MemberAuthor

    closed via #69

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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