Exploration proposes an alignment per table
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 45/100
Direzione di ricerca
Read decision 0036 to understand the alignment proposal concept, then examine the current exploration code and ontology_proposals structure. Trace decide_proposal and the adopt endpoints to add the grouping and transactional adopt path. Finally, update scripts/bench/mappings.mjs to score alignments using the truth file's new alignment section.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Exploration today reads a schema and produces entities of two classes it inserted itself. 0036 decisions 1, 2 and 6: it produces instead an alignment proposal per table — the class the table is a table of, the attributes its columns carry, the relations its foreign keys are, and for each aligned column an expression that turns the column into the attribute's value — and a person adopts it.
What a proposal holds
For dw.dwd_ord_dtl on the wide corpus:
| column | is |
|---|---|
amt_pay, qty, ord_st, dt_crt |
attributes of Order |
buyer_id, shop_id |
relations Order → Customer, Order → Shop |
shop_nm, prov, buyer_lvl |
attributes of Shop, Address, Customer, flattened in |
ver, etl_dt, rmk, price_old |
nothing |
Exploration finds existing classes and attributes first (the ontology, with a pack from 0008, usually has Order) and proposes new ones only where none fits — 0003's loop with a schema in place of a corpus. On a base with no ontology it proposes the class (decision 6); the difference from today is that a proposal waits and ensure_concept_types did not.
Where it goes
ontology_proposals already has the four sections this needs — entity_types, attribute_types, relation_types, map_to — and the attribute payload already carries datatype and unit. What it does not have is a way to say "these forty rows are one table's alignment, adopt or reject them together", and decide_proposal today only marks a row; creating the ontology rows is the separate adopt endpoints' job. So this needs:
- an alignment table: table → class, column → attribute (or relation) with the conversion tree from #555;
- a proposal that groups a table's rows, adopted as one thing — adopting
Orderwhile rejecting every attribute of it is not a decision anyone means to make; - an adopt path that writes the ontology rows and the alignment rows in one transaction.
What exploration does not propose
Definitions. GMV, refund rate, valid orders — 0 of 18 on the wide corpus, and what it would propose is sum(amt_pay): runs, looks right, off by a hundred and includes the test orders. A definition is a rule a person writes over aligned attributes (decision 4, #556). #507 is the other way a rule can arrive — stated in a document, with provenance — and is complementary, not this.
Measured by
scripts/bench/mappings.mjs scores today's proposals by number. An alignment is scored differently: did amt_pay land on Order.paid_amount, did buyer_id become a relation, did ver stay out. The truth file for wide has keys, traps and dimensions already; it gains an alignment section.
Depends on #553 having landed, or every exploration on a fresh base re-creates the column-name entities it is trying to replace.
- Lingua principale
- Rust
- Stelle
- 8.1k
- Fork
- 1.1k
- Merge medio
- 13h 15m
- PR unite (30g)
- 303
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di deeplethe/utopia
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 56/100
I maintainer di solito rispondono entro 1 giorno
-
测试模型里面的地址,点击某一个都进行测试了Apertaenhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 58/100
deeplethe/utopia#1424 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 3/5 1-2 giorni Idoneità per principianti 57/100
I maintainer di solito rispondono entro 1 giorno
-
materialize_typed makes no model call but is still claimed as model workForse già presa Una pull request collegata a questa issue è aperta o già unita. Apertabug
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
deeplethe/utopia#1351 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di deeplethe/utopia
Issue simili
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
manuscript-lang/manuscript#1364 ·
I maintainer di solito rispondono entro 1 giorno
-
`printf "%o"` prints decimalAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
fable-compiler/Fable#5157 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
I maintainer di solito rispondono entro 1 giorno
-
C-bug needs-triage O-UEFI T-libs
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno