Skip to content

Proposal: ThoughtSpot converter (bidirectional, TML ↔ Ossie) #285

Description

@djwaldo

ThoughtSpot would like to contribute a converter between ThoughtSpot's semantic model format (Model TML + Table TML, YAML) and the Ossie semantic model, following the established converter pattern.

Scope

  • Bidirectional: tml_to_ossie (import) and ossie_to_tml (export)
  • File-to-file, Python, mirroring the converters/databricks package shape (fixtures including a TPC-DS pair, roundtrip + property-based tests, per-converter CI workflow)
  • custom_extensions with vendor_name: THOUGHTSPOT for lossless roundtrip of ThoughtSpot-only concepts; one row added to the well-known vendor examples table in core-spec/spec.md
  • Mapping docs before code: a construct-mapping document and an expression/function-mapping document (each function in core-spec/expression_language.md classified as direct ThoughtSpot formula equivalent, requiring a SQL passthrough function, or unmappable → converter issue) will be posted on this issue for community review before the code PR

Proposed mapping sketch (high level)

Ossie ThoughtSpot
datasets Model model_tables + Table TML (physical source)
fields table columns / ATTRIBUTE formulas
metrics MEASURE columns / formulas
relationships Model joins
ai_context synonyms, Spotter instructions
custom_extensions[THOUGHTSPOT] join types, aggregation defaults, formats, other ThoughtSpot-only metadata

Happy to adjust scope/shape based on feedback — the mapping documents will follow as comments on this issue.

— Damian Waldron (ThoughtSpot); damian.waldron@thoughtspot.com on the dev list.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions