trilogy-data / trilogy-data/pytrilogy

Better Derivation Support

Open
#179 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
61
Forks
3
Avg merge
7h 18m
Merged PRs (30d)
43

Description

Problem Statement

When linking concepts via transformations, the current syntax is cumbersome.

eg

key country string;
key unknown_casing_country string;
auto _upper_unknown_country <- upper(unknown_casing_country);
merge _upper_unknown_counter into country;

Proposed Solution

Specific shorthand could be added for this, which would save one line.

key unknown_casing_country_string;
derive country <- upper(unknown_casing_country)

We can also consider automatically adding scalar derived concepts to datasources when all inputs are present on the datasource, to avoid users needing to explicitly bind; discovery off datasources is faster than traversing the synonym tree.

Alternatives Considered

Please briefly describe which alternatives, if any, have been considered, including merits of alternate approaches and
tradeoffs being made.

Additional Context

Please provide any other information that may be relevant.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no files, tests, or entry points. Start by tracing the existing transformation-linking syntax and derivation handling, then determine how the proposed shorthand and automatic datasource binding should interact. Done means the behavior is specified, implemented, and covered for the examples and edge cases described.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
compilers
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.