Skip to content

Release v5.7.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 13:37
e38ef7a

Screenplay can now describe property graphs and project events onto them. A graph declares node labels, edge types and their typed properties, and a projection … => graph … builds nodes and edges from events with the same mappings and counters read-model projections use.

Added

  • graph declarations: node blocks with typed properties and exactly one key, and edge <TYPE> source <Label> target <Label> blocks with typed properties and optional identified by for several edges between the same nodes. See Graphs (#1160)
  • Graph projections: node and edge blocks with from … key …, from … source … target …, property mappings, counters, every, $eventContext values and remove with … [detach]. See Graph projections (part of #1160)
  • given graph and then graph specification steps (has node, has edge, no node, no edge), run by the reference executor and the run-specifications MCP tool (part of #1160)
  • Graphs and graph projections bind into the executable semantic model as ESM v38; models without a graph keep their version and bytes (part of #1160)
  • Diagnostics PLAY0862 to PLAY0877 for malformed graphs, unsupported property types, missing or duplicate keys, undeclared labels, edge types and properties, detach on an edge, read-model-only constructs in a graph projection, and graph projections outside a slice (part of #1160)
  • Graph support in the TypeScript compiler, the Monaco editor and the VS Code extension (part of #1160)
  • Samples/Organization: persons, groups, nested groups and role assignments projected onto a graph, with specifications (part of #1160)