Repository navigation
Release v5.8.0
A graph can now be read from the model alone: a query follows a typed path over the graph's declared nodes and edges and returns an ordinary read model, and graph specifications can assert values taken from the event time.
Added
- Queries that read a graph,
query <Name> => <ReadModel>[] graph <Graph>, withmatchandoptional matchpath patterns,whereequality joined withand, and areturnblock; both compilers check labels, edge types and direction, aliases, argument and return types, and optional-match returns withPLAY0878toPLAY0885(#1169). then queryin graph specifications, evaluated by the reference graph runner over its in-memory graph, includingoptional match.given clock "<instant>"in graph specifications, which sets$eventContext.occurredfor the events the specification appends, with a fixed instant when it is absent (#1171).- ESM v40 carries
graphQueriesand the graph specificationclock; a model that uses neither keeps its version and bytes. - A conformance document for graph queries, a section on reading a graph in the graphs documentation, and decision 0139.
Changed
- Variable-length paths,
or, ranges, functions and aggregates are refused in a graph query withPLAY0885, andforeachover an event collection follows separately (#1170).