Skip to content

Release v5.8.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 12:42
bb76203

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>, with match and optional match path patterns, where equality joined with and, and a return block; both compilers check labels, edge types and direction, aliases, argument and return types, and optional-match returns with PLAY0878 to PLAY0885 (#1169).
  • then query in graph specifications, evaluated by the reference graph runner over its in-memory graph, including optional match.
  • given clock "<instant>" in graph specifications, which sets $eventContext.occurred for the events the specification appends, with a fixed instant when it is absent (#1171).
  • ESM v40 carries graphQueries and the graph specification clock; 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 with PLAY0885, and foreach over an event collection follows separately (#1170).