Wire PropertyGraph action into compile pipeline - #2251
Merged
Conversation
rafal-hawrylak
force-pushed
the
pr/property-graph-wire-pipeline
branch
from
August 19, 2026 16:25
073348f to
1adac47
Compare
kolina
requested changes
Aug 20, 2026
rafal-hawrylak
force-pushed
the
pr/property-graph-wire-pipeline
branch
3 times, most recently
from
August 20, 2026 17:47
6c78931 to
f6a7e19
Compare
kolina
approved these changes
Aug 20, 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.
rafal-hawrylak
force-pushed
the
pr/property-graph-wire-pipeline
branch
from
August 21, 2026 06:01
f6a7e19 to
0caf405
Compare
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)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.
graph.yamlfiles underdefinitions/and registers a PropertyGraph action per file. At most one graph.yaml
is accepted per project.
downstream code treats it like tables and operations.
relationships, fieldWildcard normalization for
fields: { importAll: true, except: [...] }, and an OPTIONS clause on the graph carryingthe graph description.
is_defaultto GraphLabel for the label wiring above.emitter behavior, and main_test.ts adds session-level tests plus a
propertyGraph case in the shared test-helper switch.
Older
dataformCoreVersionvalues silently skip PropertyGraph files soprojects pinning an earlier core do not break at load time.