Skip to content

Wire PropertyGraph action into compile pipeline - #2251

Merged
rafal-hawrylak merged 1 commit into
mainfrom
pr/property-graph-wire-pipeline
Aug 21, 2026
Merged

Wire PropertyGraph action into compile pipeline#2251
rafal-hawrylak merged 1 commit into
mainfrom
pr/property-graph-wire-pipeline

Conversation

@rafal-hawrylak

@rafal-hawrylak rafal-hawrylak commented Aug 19, 2026

Copy link
Copy Markdown
Collaborator

Wire PropertyGraph action into compile pipeline

Builds on top of #2246 (PropertyGraph action class) and #2249 (review
follow-up). The class parsed and rendered a graph body but was not yet
loaded from user projects or exposed to downstream code.

  • Session loading: main.ts finds graph.yaml files under definitions/
    and registers a PropertyGraph action per file. At most one graph.yaml
    is accepted per project.
  • Action index: actions/index.ts and session.ts expose PropertyGraph so
    downstream code treats it like tables and operations.
  • Emitter extensions: description and synonyms on both entities and
    relationships, fieldWildcard normalization for fields: { importAll: true, except: [...] }, and an OPTIONS clause on the graph carrying
    the graph description.
  • Proto: adds is_default to GraphLabel for the label wiring above.
  • Coverage: property_graph_test.ts grows for the new normalization and
    emitter behavior, and main_test.ts adds session-level tests plus a
    propertyGraph case in the shared test-helper switch.

Older dataformCoreVersion values silently skip PropertyGraph files so
projects pinning an earlier core do not break at load time.

@rafal-hawrylak
rafal-hawrylak requested a review from kolina August 19, 2026 15:41
@rafal-hawrylak
rafal-hawrylak requested a review from a team as a code owner August 19, 2026 15:41
@rafal-hawrylak
rafal-hawrylak force-pushed the pr/property-graph-wire-pipeline branch from 073348f to 1adac47 Compare August 19, 2026 16:25
@rafal-hawrylak rafal-hawrylak changed the title Wire PropertyGraph action into compile pipeline and emit DDL Wire PropertyGraph action into compile pipeline Aug 19, 2026
Comment thread core/actions/property_graph.ts Outdated
Comment thread core/actions/property_graph.ts Outdated
Comment thread core/actions/property_graph_test.ts Outdated
Comment thread core/main.ts
Comment thread core/main.ts Outdated
Comment thread core/main.ts Outdated
Comment thread core/main_test.ts Outdated
@rafal-hawrylak
rafal-hawrylak force-pushed the pr/property-graph-wire-pipeline branch 3 times, most recently from 6c78931 to f6a7e19 Compare August 20, 2026 17:47
@rafal-hawrylak
rafal-hawrylak requested a review from kolina August 20, 2026 17:49
Comment thread core/actions/property_graph_test.ts Outdated
Comment thread core/main.ts
Builds on top of #2246 (PropertyGraph action class) and #2249 (review
follow-up). The class parsed and rendered a graph body but was not yet
loaded from user projects or exposed to downstream code.

- Session loading: main.ts finds `graph.yaml` files under `definitions/`
  and registers a PropertyGraph action per file. At most one graph.yaml
  is accepted per project.
- Action index: actions/index.ts and session.ts expose PropertyGraph so
  downstream code treats it like tables and operations.
- Emitter extensions: description and synonyms on both entities and
  relationships, fieldWildcard normalization for `fields: { importAll:
  true, except: [...] }`, and an OPTIONS clause on the graph carrying
  the graph description.
- Proto: adds `is_default` to GraphLabel for the label wiring above.
- Coverage: property_graph_test.ts grows for the new normalization and
  emitter behavior, and main_test.ts adds session-level tests plus a
  propertyGraph case in the shared test-helper switch.

Older `dataformCoreVersion` values silently skip PropertyGraph files so
projects pinning an earlier core do not break at load time.
@rafal-hawrylak
rafal-hawrylak force-pushed the pr/property-graph-wire-pipeline branch from f6a7e19 to 0caf405 Compare August 21, 2026 06:01
@rafal-hawrylak
rafal-hawrylak merged commit 1683a16 into main Aug 21, 2026
11 checks passed
@rafal-hawrylak
rafal-hawrylak deleted the pr/property-graph-wire-pipeline branch August 21, 2026 06:09
rafal-hawrylak added a commit that referenced this pull request Aug 24, 2026
- Rename `GraphRef` to `DataSourceRef` in `PropertyGraphConfig` so the type name
  matches its field shape (a target identifier not a graph reference).
- Restrict `description` and `synonyms` OPTIONS to the DEFAULT label.
  Non-DEFAULT labels that declare either now error out. A label named `DEFAULT`
  (case-insensitive) is treated as the default and only one DEFAULT label is
  allowed per entity or relationship.
- Keep graph-level `description` on the compiled proto but stop emitting it in
  `graphBody`. DDL propagation is planned.
- Add `disabled` field to `PropertyGraphConfig` and propagate it onto the
  compiled `PropertyGraph` proto matching the convention used by Table View
  Assertion and Operation actions.
rafal-hawrylak added a commit that referenced this pull request Aug 24, 2026
- Rename `GraphRef` to `DataSourceRef` in `PropertyGraphConfig` so the type name
  matches its field shape (a target identifier not a graph reference).
- Restrict `description` and `synonyms` OPTIONS to the DEFAULT label.
  Non-DEFAULT labels that declare either now error out. A label named `DEFAULT`
  (case-insensitive) is treated as the default and only one DEFAULT label is
  allowed per entity or relationship.
- Keep graph-level `description` on the compiled proto but stop emitting it in
  `graphBody`. DDL propagation is planned.
- Add `disabled` field to `PropertyGraphConfig` and propagate it onto the
  compiled `PropertyGraph` proto matching the convention used by Table View
  Assertion and Operation actions.
rafal-hawrylak added a commit that referenced this pull request Aug 24, 2026
Builds on top of #2246 (PropertyGraph action class) and #2249 (review
follow-up). The class parsed and rendered a graph body but was not yet
loaded from user projects or exposed to downstream code.

- Session loading: main.ts finds `graph.yaml` files under `definitions/`
  and registers a PropertyGraph action per file. At most one graph.yaml
  is accepted per project.
- Action index: actions/index.ts and session.ts expose PropertyGraph so
  downstream code treats it like tables and operations.
- Emitter extensions: description and synonyms on both entities and
  relationships, fieldWildcard normalization for `fields: { importAll:
  true, except: [...] }`, and an OPTIONS clause on the graph carrying
  the graph description.
- Proto: adds `is_default` to GraphLabel for the label wiring above.
- Coverage: property_graph_test.ts grows for the new normalization and
  emitter behavior, and main_test.ts adds session-level tests plus a
  propertyGraph case in the shared test-helper switch.

Older `dataformCoreVersion` values silently skip PropertyGraph files so
projects pinning an earlier core do not break at load time.

Porting the changes from PR (#2251)
rafal-hawrylak added a commit that referenced this pull request Aug 24, 2026
- Rename `GraphRef` to `DataSourceRef` in `PropertyGraphConfig` so the type name
  matches its field shape (a target identifier not a graph reference).
- Restrict `description` and `synonyms` OPTIONS to the DEFAULT label.
  Non-DEFAULT labels that declare either now error out. A label named `DEFAULT`
  (case-insensitive) is treated as the default and only one DEFAULT label is
  allowed per entity or relationship.
- Keep graph-level `description` on the compiled proto but stop emitting it in
  `graphBody`. DDL propagation is planned.
- Add `disabled` field to `PropertyGraphConfig` and propagate it onto the
  compiled `PropertyGraph` proto matching the convention used by Table View
  Assertion and Operation actions.

Porting the changes from PR (#2253)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants