Docs menu

How they connect

Everything comes from the same reviewed plan: 7 tables, 6 with a key, and 6 relationships on the shop schema, each with the rule behind it, counted against the rows and corrected by you through keys and confirmed. The API for GraphQL, the Power BI semantic model, the ontology and the data products are each written from that plan, so they agree on how the tables relate: change the plan once, and each is written again from it.

The plan, checked against the rows, then drafts or created items: API for GraphQL, updated in place live; Power BI semantic model, created live; reviewed in Fabric; Fabric IQ ontology, created live; reviewed in Fabric; Silver notebook, created live; not yet run in Fabric; Gold views notebook, created live; not yet run in Fabric; Drift monitor notebook and pipeline, created live; not yet run in Fabric; Pipeline: silver, gold, then the check, draft; create_pipeline creates it (dry run by default; not yet created live), export_item_definitions gives it as files, no tool runs or schedules it; Views, dry run tested end to end; not yet created live; Data agent, dry run tested end to end; not yet created live; Data products and contracts, draft; creates nothing.

1 The plan7 tables, 6 with a key, and 6 relationships on the shop schema, each with its ruleplan_backendtested end to end on 27 October 2026counted in Fabric2 Checked against the rowsduplicate keys, empty keys, references with no matching row; you decidevalidate_plantested end to end on 27 October 2026the reviewed plan3 Drafts or created itemseach from the same planAPI for GraphQLupdated in place livePower BI semantic modelcreated live; reviewed inFabricFabric IQ ontologycreated live; reviewed inFabricSilver notebookcreated live; not yet run inFabricGold views notebookcreated live; not yet run inFabricDrift monitor notebookand pipelinecreated live; not yet run inFabricPipeline: silver, gold,then the checkdraftViewsdry runData agentdry runData products andcontractsdraft
1 The plan7 tables, 6 with a key, and 6 relationshipson the shop schema, each with its ruleplan_backendtested end to end on 27 October 2026counted in Fabric2 Checked against the rowsduplicate keys, empty keys, references withno matching row; you decidevalidate_plantested end to end on 27 October 2026the reviewed plan3 Drafts or created itemseach from the same planAPI for GraphQLupdated in placelivePower BI semanticmodelcreated live;reviewed in FabricFabric IQontologycreated live;reviewed in FabricSilver notebookcreated live; notyet run in FabricGold viewsnotebookcreated live; notyet run in FabricDrift monitornotebook andpipelinecreated live; notyet run in FabricPipeline: silver,gold, then thecheckdraftViewsdry runData agentdry runData products andcontractsdraft
created livedry rundraft The marks come from the test status; the list below has each one in words.

How a plan becomes Fabric items, with how far each has come in the words of the test status:

  1. The plan: keys and relationships, each with the rule behind it (plan_backend: tested end to end on 27 October 2026).
  2. Checked against the rows: duplicate keys, empty keys and references with no matching row, counted in Fabric (validate_plan: tested end to end on 27 October 2026); you correct the plan with keys and confirmed.
  3. Drafts or created items, each from that plan, as listed below.

Each item, created live, a dry run or a draft:

  • API for GraphQL: updated in place live
  • Power BI semantic model: created live; reviewed in Fabric
  • Fabric IQ ontology: created live; reviewed in Fabric
  • Silver notebook: created live; not yet run in Fabric
  • Gold views notebook: created live; not yet run in Fabric
  • Drift monitor notebook and pipeline: created live; not yet run in Fabric
  • Pipeline: silver, gold, then the check: draft; create_pipeline creates it (dry run by default; not yet created live), export_item_definitions gives it as files, no tool runs or schedules it
  • Views: dry run tested end to end; not yet created live
  • Data agent: dry run tested end to end; not yet created live
  • Data products and contracts: draft; creates nothing

One relationship, order_items.product_id → products.product_id, in each of them:

  • The plan: order_items.product_id → products.product_id, rule R1; validate_plan counts the references with no matching row.
  • The API for GraphQL: a relationship a query can nest, from order_items to products.
  • The Power BI semantic model: an active relationship from order_items to products.
  • The ontology: the relationship type OrderItemsHasProducts, from OrderItems to Products.
  • The data products: the interface between customers and products: customers holds the reference, products owns the key.
  • The contract: a foreignKey from order_items.product_id to products.product_id and the rule order_items_product_id_no_orphans (mustBe: 0).

A table without a key stays out wherever a key is needed: audit_log has no entity key in the ontology and no domain among the data products. What each piece is, and how far creating it has been tested, is in One plan, five Fabric pieces.