Blog Post

Azure Data Explorer Blog
2 MIN READ

Deprecation of variable length edge dot notation in graph-match

cosh23's avatar
cosh23
Icon for Microsoft rankMicrosoft
Apr 01, 2025

In our ongoing efforts to improve the efficiency and clarity of graph queries in KQL, we are introducing changes to the way variable length edge properties are used in graph-match constraints and projections. Specifically, we are deprecating the use of variable edge properties together with binary operators or scalar functions.

asd

G
| graph-match <Path Pattern>
  where <Constraints>
  project <Projections>

Constraints: A Boolean expression composed of properties of named variables in the Pattern

Projections: The project clause converts each pattern to a row in a tabular result

Constraints

For graph-match constraints, we will no longer support the use of variable edge properties with binary operators or scalar functions. Instead, we encourage the use of the all() graph function.

For example:

  • The pattern (n1)-[*1..3]->(n2) with the constraint e.prop has "abc" should be updated to all(e, prop has "abc").
  • Similarly, isnotempty(e.prop) should be updated to all(e, isnotempty(prop)).

Graph Projections

For graph-match projections, we are also deprecating the use of variable edge properties with binary operators or scalar functions. We recommend using the map() graph function instead.

For example:

  • The projection project strcat(e.prop, "suffix") should be updated to map(e, strcat(prop, "suffix")).
  • The projection bag_pack("key1", e.prop1, "key2", e.prop2) should be updated to map(e, bag_pack("key1", prop1, "key2", prop2)).

These changes are aimed at simplifying and standardizing the way graph queries are written, making them more readable and maintainable. We encourage you to update your existing queries to align with these new guidelines.

 

Starting in May 2025, the system will no longer support dot notation for variable length edges and will generate errors for non-compliant queries. Queries using deprecated variable edge properties with binary operators or scalar functions will not execute.

Users should review and update their graph-match constraints and projections to adhere to the new guidelines. Using the recommended functions will prevent disruptions and ensure consistent query practices.

Thank you for your support during this transition.

Published Apr 01, 2025
Version 1.0
No CommentsBe the first to comment