Skip to content

Tool to populate TAP server DB from existing TAP server #48

@gitosaurus

Description

@gitosaurus

Overview

Implement a script or tool to automatically query an external TAP server (such as the Caltech IRSA TAP service) for schema metadata of a specified catalog (e.g., Gaia DR3), parse the metadata, and insert it into our local TAP schema SQLite database.

Requirements

  • Accept TAP server URL and catalog name/table name as arguments or configuration.
  • Query the remote TAP server for schema and column metadata (e.g., via ADQL queries to tap_schema.tables and tap_schema.columns).
  • Parse the returned metadata (fields such as schema name, table name, column name, data type, units, UCD, description, etc.).
  • Insert the parsed metadata into the corresponding tables (schemas, tables, columns) in our local tap_schema.db SQLite database, using the established schema (see Issue Implement TAP Schema Storage Using SQLite for Prototype TAP Server #45).
  • Handle errors gracefully (invalid catalog/table, network issues, incomplete metadata, etc.).
  • Provide simple logging or reporting of what was imported and any issues encountered.
  • Document usage and provide example invocation (e.g., for Gaia DR3 at Caltech).

Example Workflow

  1. User runs: python import_tap_schema.py --url https://irsa.ipac.caltech.edu/TAP --catalog gaiadr3.
  2. Script queries the TAP server for all relevant metadata for the specified catalog.
  3. Script parses the result and inserts metadata into local database.
  4. User can inspect the populated database or query it using the TAP service.

Deliverables

  • Python script/module to perform the import
  • Example usage instructions
  • Integration guidance for the TAP prototype server

References


This task will enable the service to be populated with real astronomical catalog metadata, supporting true TAP schema responses for users.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions