diff --git a/data-explorer/kusto-tocs/management/toc.yml b/data-explorer/kusto-tocs/management/toc.yml index 2744121283..8ea6f47ffb 100644 --- a/data-explorer/kusto-tocs/management/toc.yml +++ b/data-explorer/kusto-tocs/management/toc.yml @@ -222,6 +222,32 @@ items: - name: .show materialized-view(s) details displayName: show materialized view details href: /kusto/management/materialized-views/materialized-view-show-details-command?view=azure-data-explorer&preserve-view=true + - name: Graphs + items: + - name: Persistent graph overview + href: /kusto/management/graph/graph-persistent-overview?view=azure-data-explorer&preserve-view=true + - name: Graph models overview + href: /kusto/management/graph/graph-model-overview?view=azure-data-explorer&preserve-view=true + - name: .create-or-alter graph_model + href: /kusto/management/graph/graph-model-create-or-alter?view=azure-data-explorer&preserve-view=true + - name: .drop graph_model + href: /kusto/management/graph/graph-model-drop?view=azure-data-explorer&preserve-view=true + - name: .show graph_model + href: /kusto/management/graph/graph-model-show?view=azure-data-explorer&preserve-view=true + - name: .show graph_models + href: /kusto/management/graph/graph-models-show?view=azure-data-explorer&preserve-view=true + - name: Graph snapshot overview + href: /kusto/management/graph/graph-snapshot-overview?view=azure-data-explorer&preserve-view=true + - name: .make graph_snapshot + href: /kusto/management/graph/graph-snapshot-make?view=azure-data-explorer&preserve-view=true + - name: .drop graph_snapshot + href: /kusto/management/graph/graph-snapshot-drop?view=azure-data-explorer&preserve-view=true + - name: .drop graph_snapshots + href: /kusto/management/graph/graph-snapshots-drop?view=azure-data-explorer&preserve-view=true + - name: .show graph_snapshot + href: /kusto/management/graph/graph-snapshot-show?view=azure-data-explorer&preserve-view=true + - name: .show graph_snapshots + href: /kusto/management/graph/graph-snapshots-show?view=azure-data-explorer&preserve-view=true - name: Stored query results items: - name: Stored query results diff --git a/data-explorer/kusto-tocs/query/toc.yml b/data-explorer/kusto-tocs/query/toc.yml index f3b5bb9182..4ab1bb1281 100644 --- a/data-explorer/kusto-tocs/query/toc.yml +++ b/data-explorer/kusto-tocs/query/toc.yml @@ -1387,16 +1387,12 @@ items: displayName: count(predicate) href: /kusto/query/countif-aggregation-function?view=azure-data-explorer&preserve-view=true - name: covariance() - displayName: covariance() href: /kusto/query/covariance-aggregation-function?view=azure-data-explorer&preserve-view=true - name: covarianceif() - displayName: covarianceif() href: /kusto/query/covarianceif-aggregation-function?view=azure-data-explorer&preserve-view=true - name: covariancep() - displayName: covariancep() href: /kusto/query/covariancep-aggregation-function?view=azure-data-explorer&preserve-view=true - name: covariancepif() - displayName: covariancepif() href: /kusto/query/covariancepif-aggregation-function?view=azure-data-explorer&preserve-view=true - name: dcount() href: /kusto/query/dcount-aggregation-function?view=azure-data-explorer&preserve-view=true @@ -1468,7 +1464,7 @@ items: href: /kusto/query/variancepif-aggregation-function?view=azure-data-explorer&preserve-view=true - name: Graph items: - - name: Graph semantics overview + - name: Graph overview href: /kusto/query/graph-semantics-overview?view=azure-data-explorer&preserve-view=true - name: Graph best practices href: /kusto/query/graph-best-practices?view=azure-data-explorer&preserve-view=true @@ -1478,8 +1474,6 @@ items: items: - name: Graph operators overview href: /kusto/query/graph-operators?view=azure-data-explorer&preserve-view=true - - name: graph - href: /kusto/query/graph-operator?view=azure-data-explorer&preserve-view=true - name: make-graph href: /kusto/query/make-graph-operator?view=azure-data-explorer&preserve-view=true - name: graph-match @@ -1504,6 +1498,9 @@ items: - name: inner_nodes() displayName: inner nodes() graph function, inner nodes href: /kusto/query/inner-nodes-graph-function?view=azure-data-explorer&preserve-view=true + - name: labels() + displayName: labels() graph function, labels + href: /kusto/query/labels-graph-function?view=azure-data-explorer&preserve-view=true - name: node_degree_in() displayName: graph, node, Node degree in node_degree_in, indegree node_degree_in href: /kusto/query/node-degree-in?view=azure-data-explorer&preserve-view=true @@ -1915,6 +1912,8 @@ items: href: /kusto/concepts/query-consistency?view=azure-data-explorer&preserve-view=true - name: Query limits href: /kusto/concepts/query-limits?view=azure-data-explorer&preserve-view=true + - name: Query resource consumption + href: /kusto/concepts/query-resource-consumption?view=azure-data-explorer&preserve-view=true - name: Partial query failures href: /kusto/concepts/partial-query-failures?view=azure-data-explorer&preserve-view=true items: diff --git a/data-explorer/kusto/management/graph/graph-model-create-or-alter.md b/data-explorer/kusto/management/graph/graph-model-create-or-alter.md index 3653de515f..490879dd9b 100644 --- a/data-explorer/kusto/management/graph/graph-model-create-or-alter.md +++ b/data-explorer/kusto/management/graph/graph-model-create-or-alter.md @@ -32,7 +32,7 @@ To run this command, the user needs [Database Admin permissions](../../access-co ### Graph model definition payload -The graph model definition payload is a JSON document that defines the structure and processing steps for the graph model. For detailed information about the graph model definition format, see [Graph model in Kusto - Overview](graph-model-overview.md). +The graph model definition payload is a JSON document that defines the structure and processing steps for the graph model. For detailed information about the graph model definition format, see [Graph model overview](graph-model-overview.md). ## Returns diff --git a/data-explorer/kusto/management/graph/graph-model-overview.md b/data-explorer/kusto/management/graph/graph-model-overview.md index 9bea057a0f..1d277aa958 100644 --- a/data-explorer/kusto/management/graph/graph-model-overview.md +++ b/data-explorer/kusto/management/graph/graph-model-overview.md @@ -1,6 +1,6 @@ --- title: Graph models in Azure Data Explorer - Overview and usage -description: Learn how to define, manage, and query persistent graph structures in Kusto +description: Learn how to define, manage, and query persistent graph structures ms.reviewer: herauch ms.topic: reference ms.date: 05/24/2025 @@ -17,16 +17,16 @@ Graph models in Azure Data Explorer enable you to define, manage, and efficientl ## Overview -A graph model is a database object that represents a labeled property graph (LPG) within Azure Data Explorer. It consists of nodes (vertices) and edges (relationships), both of which can have properties that describe them. The model defines both the schema of the graph (node and edge types with their properties) and the process for constructing the graph from tabular data stored in Kusto tables. +A graph model is a database object that represents a labeled property graph (LPG) within Azure Data Explorer. It consists of nodes, also called vertices, and edges, also called relationships. Both nodes and edges can have properties that describe them. The model defines the schema of the graph, including node and edge types with their properties. It also defines the process for constructing the graph from tabular data stored in KQL Database tables and from tabular expressions. ## Key characteristics -Graph models in Kusto offer: +Graph models offer: - **Metadata persistence**: Store graph specifications in database metadata for durability and reusability - **Materialized snapshots**: Eliminate the need to rebuild graphs for each query, dramatically improving query performance - **Schema definition**: Support optional but recommended defined schemas for nodes and edges, ensuring data consistency -- **Deep KQL integration**: Seamlessly integrate with Kusto Query Language (KQL) graph semantics +- **Deep KQL integration**: Seamlessly integrate with graph semantics - **Optimized traversals**: Include specialized indexing for efficient graph traversal operations, making complex pattern matching and path-finding queries significantly faster ## When to use graph models @@ -206,7 +206,7 @@ Key aspects of graph snapshots: * Snapshots include metadata such as creation time and the source graph model * Snapshots enable querying the graph as it existed at a specific point in time -For more detailed information about working with graph snapshots, see [Graph snapshots in Kusto](graph-snapshot-overview.md). +For more detailed information about working with graph snapshots, see [Graph snapshots overview](graph-snapshot-overview.md). ## Querying Graph models diff --git a/data-explorer/kusto/management/graph/graph-persistent-overview.md b/data-explorer/kusto/management/graph/graph-persistent-overview.md index c524d2609d..51b8d30670 100644 --- a/data-explorer/kusto/management/graph/graph-persistent-overview.md +++ b/data-explorer/kusto/management/graph/graph-persistent-overview.md @@ -1,6 +1,6 @@ --- -title: Persistent graphs in Kusto - Overview -description: Learn about persistent graphs in Kusto, including graph models, snapshots, and management commands for scalable graph analytics. +title: Persistent graphs overview +description: Learn about persistent graphs, including graph models, snapshots, and management commands for scalable graph analytics. ms.reviewer: herauch ms.topic: reference ms.date: 05/24/2025 @@ -13,7 +13,7 @@ ms.date: 05/24/2025 > [!NOTE] > This feature is currently in public preview. Functionality and syntax are subject to change before General Availability. -Persistent graphs in Kusto enable you to store, manage, and query graph data structures at scale. Unlike transient graphs created with the [make-graph](../../query/make-graph-operator.md) operator, persistent graphs are durable database objects that persist beyond individual query executions, providing enterprise-grade graph analytics capabilities. +Persistent graphs enable you to store, manage, and query graph data structures at scale. Unlike transient graphs created with the [make-graph](../../query/make-graph-operator.md) operator, persistent graphs are durable database objects that persist beyond individual query executions, providing enterprise-grade graph analytics capabilities. ## Overview @@ -109,11 +109,11 @@ The [`graph-match`](../../query/graph-match-operator.md) operator enables patter ## Key considerations -This section describes key considerations and current limitations of graph models and snapshots in Kusto. +This section describes key considerations and current limitations of graph models and snapshots. ### Snapshot limitations -Persistent graphs in Kusto have the following limitations: +Persistent graphs have the following limitations: - **Regular database limit**: Maximum of 5,000 graph snapshots per database - **Free virtual cluster limit**: Maximum of 500 graph snapshots per database @@ -123,5 +123,5 @@ Persistent graphs in Kusto have the following limitations: * [Graph model overview](graph-model-overview.md) * [Graph snapshot overview](graph-snapshot-overview.md) -* [Graph operators in Kusto](../../query/graph-operators.md) +* [Graph operators](../../query/graph-operators.md) * [Graph best practices](../../query/graph-best-practices.md) \ No newline at end of file diff --git a/data-explorer/kusto/management/graph/graph-snapshot-overview.md b/data-explorer/kusto/management/graph/graph-snapshot-overview.md index 1b0b6918b3..83350e3bb1 100644 --- a/data-explorer/kusto/management/graph/graph-snapshot-overview.md +++ b/data-explorer/kusto/management/graph/graph-snapshot-overview.md @@ -1,6 +1,6 @@ --- title: Graph snapshots overview -description: Learn about graph snapshots in Kusto, including their structure, benefits, and how to create and query them for efficient graph data analysis. +description: Learn about graph snapshots, including their structure, benefits, and how to create and query them for efficient graph data analysis. ms.reviewer: herauch ms.topic: reference ms.date: 05/24/2025 diff --git a/data-explorer/kusto/query/graph-best-practices.md b/data-explorer/kusto/query/graph-best-practices.md index a12d7180d6..774400d5e5 100644 --- a/data-explorer/kusto/query/graph-best-practices.md +++ b/data-explorer/kusto/query/graph-best-practices.md @@ -3,7 +3,7 @@ title: Best practices for Kusto Query Language (KQL) graph semantics description: Learn about the best practices for Kusto Query Language (KQL) graph semantics. ms.reviewer: herauch ms.topic: conceptual -ms.date: 05/26/2025 +ms.date: 05/29/2025 # Customer intent: As a data analyst, I want to learn about best practices for KQL graph semantics. --- @@ -11,7 +11,7 @@ ms.date: 05/26/2025 >[!INCLUDE [applies](../includes/applies-to-version/applies.md)] [!INCLUDE [fabric](../includes/applies-to-version/fabric.md)] [!INCLUDE [azure-data-explorer](../includes/applies-to-version/azure-data-explorer.md)] [!INCLUDE [monitor](../includes/applies-to-version/monitor.md)] [!INCLUDE [sentinel](../includes/applies-to-version/sentinel.md)] -Kusto supports two primary approaches for working with graphs: transient graphs created in-memory for each query, and persistent graphs defined as graph models and snapshots within the database. This article provides best practices for both methods, enabling you to select the optimal approach and use KQL graph semantics efficiently. +Graph semanitcs supports two primary approaches for working with graphs: transient graphs created in-memory for each query, and persistent graphs defined as graph models and snapshots within the database. This article provides best practices for both methods, enabling you to select the optimal approach and use KQL graph semantics efficiently. This guidance covers: @@ -23,9 +23,9 @@ This guidance covers: :::moniker range="azure-data-explorer || microsoft-fabric" -## Graph modeling approaches in Kusto +## Graph modeling approaches -Kusto provides two approaches for working with graphs: transient and persistent. +There are two approaches for working with graphs: transient and persistent. ### Transient graphs diff --git a/data-explorer/kusto/query/graph-operators.md b/data-explorer/kusto/query/graph-operators.md index f19f3acb9b..e90dffb7c7 100644 --- a/data-explorer/kusto/query/graph-operators.md +++ b/data-explorer/kusto/query/graph-operators.md @@ -9,7 +9,7 @@ ms.date: 11/05/2024 > [!INCLUDE [applies](../includes/applies-to-version/applies.md)] [!INCLUDE [fabric](../includes/applies-to-version/fabric.md)] [!INCLUDE [azure-data-explorer](../includes/applies-to-version/azure-data-explorer.md)] [!INCLUDE [monitor](../includes/applies-to-version/monitor.md)] [!INCLUDE [sentinel](../includes/applies-to-version/sentinel.md)] -Kusto Query Language (KQL) graph operators enable graph analysis of data by representing tabular data as a graph with nodes and edges, or by referencing persistent graph entities. This setup lets you use graph operations to study the connections and relationships between different data points. +Graph operators enable graph analysis of data by representing tabular data as a graph with nodes and edges, or by referencing persistent graph entities. This setup lets you use graph operations to study the connections and relationships between different data points. Graph analysis can be performed using either transient graphs (created dynamically from tabular data using [make-graph](make-graph-operator.md)) or persistent graphs (referenced using the [graph](graph-function.md) function). Once a graph is established, you can use graph operators such as [graph-match](graph-match-operator.md), [graph-shortest-paths](graph-shortest-paths-operator.md), and [graph-to-table](graph-to-table-operator.md) to analyze relationships, find patterns, and transform results back into tabular form for further processing. diff --git a/data-explorer/kusto/query/graph-scenarios.md b/data-explorer/kusto/query/graph-scenarios.md index 613299132c..82c1668fe6 100644 --- a/data-explorer/kusto/query/graph-scenarios.md +++ b/data-explorer/kusto/query/graph-scenarios.md @@ -11,7 +11,7 @@ ms.date: 05/28/2025 >[!INCLUDE [applies](../includes/applies-to-version/applies.md)] [!INCLUDE [fabric](../includes/applies-to-version/fabric.md)] [!INCLUDE [azure-data-explorer](../includes/applies-to-version/azure-data-explorer.md)] [!INCLUDE [monitor](../includes/applies-to-version/monitor.md)] [!INCLUDE [sentinel](../includes/applies-to-version/sentinel.md)] -Graph semantics in Kusto Query Language (KQL) enables modeling and querying data as interconnected networks. This approach excels at representing complex data with many-to-many relationships, hierarchical structures, and networked systems—including social networks, recommendation engines, connected assets, and knowledge graphs. +Graph semantics enables modeling and querying data as interconnected networks. This approach excels at representing complex data with many-to-many relationships, hierarchical structures, and networked systems—including social networks, recommendation engines, connected assets, and knowledge graphs. This article explores the following common scenarios for using KQL graph semantics: @@ -217,7 +217,7 @@ Graph semantics enables comprehensive digital twin modeling through: ### Graph historization for temporal analysis -A critical aspect of digital twin management is capturing and analyzing temporal changes. By historizing graph changes in Kusto, organizations can: +A critical aspect of digital twin management is capturing and analyzing temporal changes. By historizing graph changes, organizations can: 1. **Track evolution over time** - Monitor how physical spaces and systems change 2. **Conduct historical analysis** - Identify patterns and trends in utilization and performance diff --git a/data-explorer/kusto/query/graph-semantics-overview.md b/data-explorer/kusto/query/graph-semantics-overview.md index e4dd8763c6..906cb397c3 100644 --- a/data-explorer/kusto/query/graph-semantics-overview.md +++ b/data-explorer/kusto/query/graph-semantics-overview.md @@ -1,16 +1,16 @@ --- title: Graph semantics overview -description: Learn about graph semantics in Kusto and the different approaches to create and query graphs +description: Learn about graph semantics and the different approaches to create and query graphs ms.reviewer: herauch ms.topic: conceptual -ms.date: 05/23/2025 +ms.date: 05/29/2025 --- # Graph semantics overview >[!INCLUDE [applies](../includes/applies-to-version/applies.md)] [!INCLUDE [fabric](../includes/applies-to-version/fabric.md)] [!INCLUDE [azure-data-explorer](../includes/applies-to-version/azure-data-explorer.md)] [!INCLUDE [monitor](../includes/applies-to-version/monitor.md)] [!INCLUDE [sentinel](../includes/applies-to-version/sentinel.md)] -Graph semantics in Kusto enables you to model and query data as interconnected networks. A graph consists of nodes (entities) and edges (relationships) that connect them. Both nodes and edges can contain properties, creating a rich data model for complex relationships. +Graph semantics enables you to model and query data as interconnected networks. A graph consists of nodes (entities) and edges (relationships) that connect them. Both nodes and edges can contain properties, creating a rich data model for complex relationships. Graphs excel at representing complex data with many-to-many relationships, hierarchical structures, or networked connections—such as social networks, recommendation systems, connected assets, and knowledge graphs. Unlike relational databases that require indexes and joins to connect data across tables, graphs use direct adjacency between nodes, enabling fast and intuitive traversal of relationships. @@ -24,17 +24,17 @@ The following graph shows a supply chain scenario where nodes represent supplier :::image type="content" source="media/graphs/graph-supply-chain.png" alt-text="Graph of two suppliers, manufacturer, and distributor, and the supply relationship."::: -## Why use graph semantics in Kusto? +## Why use graph semantics? -Kusto's graph capabilities offer significant advantages by **leveraging existing data investments** while adding sophisticated relationship modeling: +Graph capabilities offer significant advantages by **leveraging existing data investments** while adding sophisticated relationship modeling: -- **No data migration required** - Build graph models directly from current data without duplication -- **Cost-effective solution** - Eliminates the complexity and expense of dedicated graph databases -- **Temporal analysis support** - As a time-series database, Kusto naturally enables analysis of graph evolution over time -- **Event-based modeling** - Treats graphs as sequences of relationship events, aligning with Kusto's strength in event processing -- **Seamless KQL integration** - Graph operators work alongside all existing KQL capabilities with full IntelliSense support +- **No data migration required** - Build graph models directly from current data without duplication. +- **Cost-effective solution** - Eliminates the complexity and expense of dedicated graph databases. +- **Temporal analysis support** - As a time-series database, you can naturally analyze how graphs evolve over time. +- **Event-based modeling** - Models graphs as sequences of relationship events, aligning with strong event processing capabilities. +- **Seamless KQL integration** - Graph operators work alongside all existing KQL capabilities with full IntelliSense support. -This approach delivers **enterprise-grade relationship modeling** while maintaining Kusto's performance, scale, and familiar interface. Organizations can analyze complex interconnected data across domains—from supply chains and organizational hierarchies to IoT device networks and social relationships—without extra infrastructure investments. +This approach delivers **enterprise-grade relationship modeling** while maintaining performance, scale, and a familiar interface. Organizations can analyze complex interconnected data across domains—from supply chains and organizational hierarchies to IoT device networks and social relationships—without extra infrastructure investments. ## Transient graph creation approach @@ -176,7 +176,7 @@ Persistent graphs are essential when working with enterprise-scale data or when - **Transient graphs** - Include construction time in each query, with delays increasing for large datasets or external data sources - **Persistent graphs** - Eliminate construction latency through prebuilt snapshots, enabling rapid analysis -External data source dependencies (Kusto, SQL, Cosmos DB) can significantly affect transient graph construction time, as each query must wait for external responses. +External data source dependencies, such as cross cluster queries or external tables to SQL and CosmosDB, can significantly affect transient graph construction time because each query must wait for external responses. ### Data freshness