Edit

How graph in Microsoft Fabric works

Note

This feature is currently in public preview. This preview is provided without a service-level agreement, and isn't recommended for production workloads. Certain features might not be supported or might have constrained capabilities. For more information, see Supplemental Terms of Use for Microsoft Azure Previews.

Graph in Microsoft Fabric transforms structured data stored in OneLake into a modeled, queryable graph. Query the graph by using visual or GQL-based tools that run through a common engine to produce visual, tabular, or programmatic results.

This article describes the graph architecture and explains the end-to-end data flow from source to insights.

The following diagram illustrates the end-to-end data flow from source to insights:

Diagram that shows the graph data flow from data sources through storage, graph modeling, query authoring, execution, and results.

Data sources

Data originates from external systems such as Azure services, other cloud platforms, or on-premises sources. Graph in Microsoft Fabric works with data from these sources after you ingest it into OneLake, where graph can read it.

Storage in OneLake

You store ingested data in OneLake as tabular source tables in a lakehouse. Graph ingests data from your lakehouse tables when you save the model, so you don't need to set up a separate ETL pipeline or move data to an external database.

Graph modeling

In the graph modeling step, you define the graph schema by specifying:

  • Node types: Entities in your data, such as customers, products, or orders.
  • Edge types: Relationships between entities, such as "purchases," "contains," or "produces."
  • Table mappings: How node and edge definitions map to the underlying source tables.

This step creates the labeled property graph structure. Complete graph modeling before you query the graph. For guidance on making these modeling decisions, see Design a graph schema.

Note

Graph currently doesn't support schema evolution. If you need to make structural changes—such as adding new properties, modifying labels, or changing relationship types—reingest the updated source data into a new model.

Queryable graph

When you save the model, graph ingests data from the underlying lakehouse tables and constructs a read-optimized, queryable graph. This graph structure is optimized for traversal and pattern matching, which enables fast and efficient graph queries at scale.

Query authoring

You author queries against the queryable graph by using one of two experiences:

Both options target the same underlying graph. Choose the authoring experience that fits your workflow.

Query execution

You run queries through a common execution layer that supports:

Tip

Choose your query path: Use GQL or REST for direct, programmatic access to graph data with full control over query structure. Use NL2GQL (preview) through Fabric Data Agent when you need natural language access — ideal for conversational AI and knowledge assistant scenarios.

This layer runs the query logic against the queryable graph and returns results.

Query results

Depending on how you query the graph, you receive results in one or more of the following formats:

  • Visual graph diagrams: Interactive visualizations of nodes and relationships.
  • Tabular result sets: Structured data in rows and columns.
  • Programmatic responses: JSON output for REST or downstream consumption.

Explore results interactively, share them as read-only querysets, or use them in other tools and applications.