Skip to content

Commit b44c39e

Browse files
authored
Merge pull request #54233 from theresa-i/fabric-iq-graph
Add new module: Visualize ontology with Microsoft Fabric Real-Time Intelligence
2 parents 0ce3600 + 2b253f9 commit b44c39e

24 files changed

Lines changed: 363 additions & 0 deletions
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.visualize-ontology-fabric-iq.introduction
3+
title: Introduction
4+
metadata:
5+
title: Introduction
6+
description: Introduction to visualizing ontology data with Microsoft Fabric IQ using the relationship graph and Query builder to explore connected business concepts.
7+
ms.date: 04/13/2026
8+
author: theresa-i
9+
ms.author: theresai
10+
ms.topic: unit
11+
ai-usage: ai-generated
12+
azureSandbox: false
13+
labModal: false
14+
durationInMinutes: 3
15+
content: |
16+
[!include[](includes/1-introduction.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.visualize-ontology-fabric-iq.explore-ontology
3+
title: Explore the ontology
4+
metadata:
5+
title: Explore the Ontology
6+
description: Learn how to open the entity type overview, view entity instances, and inspect individual entity instance details and relationships in Microsoft Fabric IQ.
7+
ms.date: 04/13/2026
8+
author: theresa-i
9+
ms.author: theresai
10+
ms.topic: unit
11+
ai-usage: ai-generated
12+
azureSandbox: false
13+
labModal: false
14+
durationInMinutes: 5
15+
content: |
16+
[!include[](includes/2-explore-ontology.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.visualize-ontology-fabric-iq.visualize-relationships
3+
title: Visualize relationships in the relationship graph
4+
metadata:
5+
title: Visualize Relationships in the Relationship Graph
6+
description: Learn how to expand the relationship graph, run the default query to see entity instances as nodes and relationships as edges, and navigate connected business concepts in Microsoft Fabric IQ.
7+
ms.date: 04/13/2026
8+
author: theresa-i
9+
ms.author: theresai
10+
ms.topic: unit
11+
ai-usage: ai-generated
12+
azureSandbox: false
13+
labModal: false
14+
durationInMinutes: 5
15+
content: |
16+
[!include[](includes/3-visualize-relationships.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.visualize-ontology-fabric-iq.query-ontology-query-builder
3+
title: Filter and explore with the Query builder
4+
metadata:
5+
title: Filter and Explore with the Query Builder
6+
description: Learn how to use the Query builder in Microsoft Fabric IQ to add filters, control components, explore cross-source data, and interpret results in Diagram, Card, and Table view.
7+
ms.date: 04/13/2026
8+
author: theresa-i
9+
ms.author: theresai
10+
ms.topic: unit
11+
ai-usage: ai-generated
12+
azureSandbox: false
13+
labModal: false
14+
durationInMinutes: 6
15+
content: |
16+
[!include[](includes/4-query-ontology-query-builder.md)]
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.visualize-ontology-fabric-iq.exercise-visualize-ontology
3+
title: Exercise - Visualize ontology data with Microsoft Fabric IQ
4+
metadata:
5+
title: Exercise - Visualize Ontology Data with Microsoft Fabric IQ
6+
description: Practice visualizing entity instances, exploring relationship graphs, and seeing data through property charts and visualizations in Microsoft Fabric IQ.
7+
ms.date: 04/13/2026
8+
author: theresa-i
9+
ms.author: theresai
10+
ms.topic: unit
11+
ai-usage: ai-generated
12+
azureSandbox: false
13+
labModal: false
14+
durationInMinutes: 20
15+
content: |
16+
[!include[](includes/5-exercise-query-ontology.md)]
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.visualize-ontology-fabric-iq.knowledge-check
3+
title: Module assessment
4+
metadata:
5+
title: Module Assessment
6+
module_assessment: true
7+
ai_generated_module_assessment: false
8+
description: Check your knowledge of visualizing and querying ontology data with Microsoft Fabric IQ.
9+
ms.date: 04/13/2026
10+
author: theresa-i
11+
ms.author: theresai
12+
ms.topic: unit
13+
ai-usage: ai-generated
14+
azureSandbox: false
15+
labModal: false
16+
durationInMinutes: 5
17+
quiz:
18+
title: "Check your knowledge"
19+
questions:
20+
- content: "In the relationship graph, what does a labeled arrow between two nodes represent?"
21+
choices:
22+
- content: "A relationship connecting two entity instances, such as a patient admitted to a room."
23+
isCorrect: true
24+
explanation: "Correct. Edges are the named, directed connections between nodes—for example, the admittedTo edge connects a Patient instance to a Room instance."
25+
- content: "A property of one of the connected entity types."
26+
isCorrect: false
27+
explanation: "Incorrect. Properties are attributes stored on a single node, such as RoomNumber or RoomType. Edges are the arrows that connect two separate nodes."
28+
- content: "An entity type that groups related instances together."
29+
isCorrect: false
30+
explanation: "Incorrect. Entity types group instances of the same kind, such as all rooms or all patients. Edges are the directed connections between individual instances."
31+
- content: "What does the entity instances table on the entity type overview page show?"
32+
choices:
33+
- content: "The actual records loaded from the bound source data for that entity type."
34+
isCorrect: true
35+
explanation: "Correct. The entity instances table shows the real rows from the source lakehouse or eventhouse table, one row per instance, with columns matching the entity type's configured properties."
36+
- content: "A summary of all relationships configured for that entity type."
37+
isCorrect: false
38+
explanation: "Incorrect. Relationships appear in the relationship graph tile on the same page. The entity instances table shows the actual data records."
39+
- content: "The schema showing how the entity type connects to others in the ontology."
40+
isCorrect: false
41+
explanation: "Incorrect. The relationship graph tile shows how entity types connect to each other. The entity instances table shows the actual data rows for this entity type."
42+
- content: "You want to query the ontology for patients assigned to rooms in the Intensive Care Unit department. Which combination of Query builder controls do you need?"
43+
choices:
44+
- content: "Add a filter for DepartmentName = Intensive Care Unit and ensure Department, Room, and Patient nodes are enabled in the Components pane."
45+
isCorrect: true
46+
explanation: "Correct. A filter on the Department entity type narrows results to Intensive Care Unit, while enabling the appropriate node and edge types in the Components pane controls what appears in the graph results."
47+
- content: "Remove all components except Patient nodes and run the default query."
48+
isCorrect: false
49+
explanation: "Incorrect. Removing Department and Room components from the query would exclude the entity types needed to trace the connection path from Cardiology to patients. All three node types are required."
50+
- content: "Switch to Table view and add a filter for each entity type separately."
51+
isCorrect: false
52+
explanation: "Incorrect. The view type (Diagram, Card, Table) only changes how results are displayed, not which entities are returned. Switching views doesn't affect query filtering."
53+
- content: "After running a query, you want to compare RoomType and DepartmentId values across all returned rooms at once. Which view is most useful?"
54+
choices:
55+
- content: "Table view, because results appear in rows and columns with one row per instance."
56+
isCorrect: true
57+
explanation: "Correct. Table view organizes results in a grid—one row per instance, one column per property—making it easy to compare values like RoomType or DepartmentId across many rooms at once."
58+
- content: "Diagram view, because you can select each node to inspect its properties."
59+
isCorrect: false
60+
explanation: "Incorrect. Diagram view shows the graph structure with nodes and edges, but you must select each node individually to see its properties—not ideal for comparing values across multiple instances."
61+
- content: "Card view, because it displays each instance with property values listed inline."
62+
isCorrect: false
63+
explanation: "Incorrect. Card view is useful for scanning individual records, but comparing specific property values across many instances is easier in Table view where properties align in columns."
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
### YamlMime:ModuleUnit
2+
uid: learn.wwl.visualize-ontology-fabric-iq.summary
3+
title: Summary
4+
metadata:
5+
title: Summary
6+
description: Summary of visualizing and querying ontology data with Microsoft Fabric IQ.
7+
ms.date: 04/13/2026
8+
author: theresa-i
9+
ms.author: theresai
10+
ms.topic: unit
11+
ai-usage: ai-generated
12+
azureSandbox: false
13+
labModal: false
14+
durationInMinutes: 2
15+
content: |
16+
[!include[](includes/7-summary.md)]
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Imagine you're a data analyst at Lamna Healthcare. You've built an ontology in Fabric IQ. Hospital, Department, Room, Patient, and VitalSignEquipment entity types are defined, bound to the lakehouse and eventhouse, and structurally sound. Now comes the reason you built it.
2+
3+
The clinical operations manager stops by with a question: "Which rooms in the Intensive Care Unit currently have patients, and which vital sign monitors are active there?" Before the ontology, answering that question meant writing a multi-table SQL join—linking patient assignment records to rooms, rooms to departments, and departments to equipment logs. With the ontology in place, you can explore the answer visually by following named relationships across your semantic layer.
4+
5+
In this module, you open the entity type overview to inspect the entity instances that your data bindings have populated. You see individual Department, Room, and Patient records are drawn from your OneLake sources. You expand the relationship graph to visualize how those instances connect—patients assigned to rooms, rooms belonging to departments, equipment monitoring patients. You use the Query builder to add filters for specific property values, control which entity types and relationship types appear using the Components pane, and explore data that spans your lakehouse and eventhouse without writing any SQL.
6+
7+
By the end of this module, you're equipped to turn the ontology into answers: exploring connected healthcare data the way business users think about it.
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
The ontology preview experience lets you explore your ontology data—the real records from your lakehouse and eventhouse bound to your entity types. In this unit, you'll learn how to navigate that experience: viewing entity instances and drilling into individual records to see how your graph connects.
2+
3+
## Understand the graph structure: nodes and edges
4+
5+
Your ontology is a graph database—a data structure built from two fundamental elements: **nodes** and **edges**. In the graph view below, each colored circle is a node (a real record—a patient, a room, or a department), and each labeled arrow connecting them is an edge (a relationship like `admittedTo` or `inDepartment`).
6+
7+
:::image type="content" source="../media/room-instance-graph.png" alt-text="Screenshot of the Fabric IQ Graph view for Rooms showing a query schema at the top with Patients admittedTo Rooms inDepartment Departments, and below it a live populated graph with colored dots representing individual patient, room, and department nodes connected by admittedTo and inDepartment edges, with Department Node and Edge annotations in red.":::
8+
9+
### Nodes represent entities
10+
11+
A **node** is a single real record represented as a point in the graph. Each entity instance—a room, a department, a patient—is a node. Room ICU-301 is a node. The Intensive Care Unit department is a node. A patient admitted to that room is a node.
12+
13+
Nodes have:
14+
- **Labels** (the entity type, like Patient or Department)
15+
- **Properties** (attributes like fullName, departmentName, or roomNumber)
16+
- **A unique identity** (the key property value that distinguishes this instance from all others)
17+
18+
### Edges represent relationships
19+
20+
An **edge** (also called a relationship) is the connection between two nodes. The `admittedTo` relationship between Patient and Room creates edges. When a patient is admitted to Room SUR-202, that specific connection becomes an edge in the graph.
21+
22+
Edges have:
23+
- **A direction** (Patient → Room, not Room → Patient)
24+
- **A type** (assignedToPatient, admittedTo, inDepartment)
25+
- **Source and target nodes** (the two instances being connected)
26+
- Optionally, **properties** (like admissionDate or transferReason)
27+
28+
Those named connections are what make graph exploration powerful. To answer "Which patients are in the Intensive Care Unit?", the graph starts at the ICU department node, follows `inDepartment` edges to find the rooms in that department, then follows `admittedTo` edges to find the patients in those rooms—no complex queries required.
29+
30+
## Open the entity type overview
31+
32+
The entity type overview is your starting point for exploring any entity type's instances and connections. To open it, select an entity type in the **Entity Types** pane—for example, **Rooms**—and then select **Entity type overview** from the ribbon.
33+
34+
The overview page shows three sections: the relationship graph tile, property charts, and entity instances table for the Rooms entity type. The entity instances table shows 10 room instances from the Lamna Healthcare dataset, spanning three room types: Critical Care, Emergency, and Post-Op.
35+
36+
:::image type="content" source="../media/room-overview.png" alt-text="Screenshot of the Rooms entity type overview showing the relationship graph tile with Patients admittedTo Rooms inDepartment Departments, property charts for RoomNumber, DepartmentId, and RoomType, and an entity instances table listing 10 rooms including ICU-301, SUR-202, and ER-102.":::
37+
38+
The relationship graph tile shows Rooms at the center of two connections: Patients link to Rooms via the `admittedTo` edge, and Rooms link to Departments via the `inDepartment` edge.
39+
40+
The entity instances table reflects the records in the bound data source. Each row is one room from the Rooms table. The columns correspond to the properties defined on the Rooms entity type: RoomId, RoomNumber, DepartmentId, and RoomType.
41+
42+
## Explore an entity instance
43+
44+
The entity instances table is a gateway to individual records. Select any row to open the instance view for that specific instance.
45+
46+
The instance view shows all property values for that record—the actual data from your lakehouse. For room SUR-202, you see RoomId: 8, RoomNumber: SUR-202, DepartmentId: 3, and RoomType: Post-Op.
47+
48+
Below the properties, the relationship graph tile shows how this entity type connects to others in the ontology: Patients link to Rooms via `admittedTo`, and Rooms link to Departments via `inDepartment`. The property charts reflect data across all room instances.
49+
50+
:::image type="content" source="../media/room-instance.png" alt-text="Screenshot of the Rooms instance view for Room 8 (SUR-202) with instance properties RoomId 8, RoomNumber SUR-202, DepartmentId 3, RoomType Post-Op highlighted in a red box at the top, and below it a relationship graph tile showing Patients admittedTo Rooms inDepartment Departments, plus RoomNumber and RoomType property charts.":::
51+
52+
The instance properties panel at the top is the key difference from the entity type overview: it shows the specific values for this one record, not aggregates across all rooms.
53+
54+
With instance-level exploration covered, you're ready to expand the relationship graph to see all entity instances and their connections together.
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
In the previous unit, you explored entity instances in the ontology preview experience. In this unit, you expand the relationship graph to see how those instances connect, run a query to load real data into the graph, and explore the results interactively.
2+
3+
## Expand the relationship graph
4+
5+
From the entity type overview page, select **Expand** on the relationship graph tile to open the full graph view in Graph in Microsoft Fabric.
6+
7+
:::image type="content" source="../media/expand-graph.png" alt-text="Screenshot of the Rooms entity type overview page showing the relationship graph tile with the Expand button highlighted in a red box in the upper-right corner of the tile.":::
8+
9+
The full graph view opens showing the entity type schema: Patients connected to Rooms via `admittedTo`, and Rooms connected to Departments via `inDepartment`. This is the structure of the ontology—no instance data has loaded yet.
10+
11+
## Run the default query
12+
13+
To load actual instance data into the graph, select **Run query** from the ribbon. The default query retrieves the selected entity type and all entities one relationship hop away.
14+
15+
:::image type="content" source="../media/default-query.png" alt-text="Screenshot of the Rooms graph view with the Run query button highlighted in a red box in the ribbon, and below the query schema, a populated graph showing individual patient, room, and department nodes connected by admittedTo and inDepartment edges.":::
16+
17+
After the query runs, the lower panel populates with real instance nodes: individual room records (purple), the patients admitted to those rooms (teal), and the departments those rooms belong to (orange). Each labeled arrow between them is a live edge—an actual connection from the data, not a constructed join.
18+
19+
## Select nodes to view details
20+
21+
The graph is interactive. Select any node to view its property values. Selecting a room node surfaces its RoomNumber, DepartmentId, and RoomType. Selecting a department node shows the department's name and ID. Selecting a patient node shows admission details.
22+
23+
This lets you explore both the data and the relationships at a glance—following connections the same way a clinical operations manager would think about them: which rooms are in the Intensive Care Unit, and which patients are in those rooms.
24+
25+
## Navigate connected data
26+
27+
The graph opened from the Rooms entity type shows Rooms at the center, with Patients and Departments one hop away. The Lamna Healthcare ontology extends further: Patients connect to VitalSignEquipment via the `assignedToPatient` relationship. Following the full path from Department → Room → Patient → VitalSignEquipment answers "Which monitors are active for patients in the ICU?"—by following named edges, not writing joins.
28+
29+
In the next unit, you use the Query builder to add filters and control which entity types and relationship types appear, so you can target specific questions directly.

0 commit comments

Comments
 (0)