graflo.architecture.evolution¶
Manifest evolution: apply high-level schema + ingestion transforms to :class:~graflo.architecture.contract.manifest.GraphManifest.
Use :func:~graflo.migrate.io.manifest_hash to compare contract identity before and after.
AddEdgePropertiesOp
¶
Bases: ConfigBaseModel
Add edge properties for each relation in schema/profile defaults.
Source code in graflo/architecture/evolution/ops.py
AddVertexPropertiesOp
¶
Bases: ConfigBaseModel
Add vertex properties to existing logical vertex types.
Source code in graflo/architecture/evolution/ops.py
MergeEdgesOp
¶
Bases: ConfigBaseModel
Merge source relation names into a canonical relation name.
Source code in graflo/architecture/evolution/ops.py
MergeVerticesOp
¶
Bases: ConfigBaseModel
Merge source vertices into a single logical name (schema, edges, ingestion).
Source code in graflo/architecture/evolution/ops.py
RemoveEdgePropertiesOp
¶
Bases: ConfigBaseModel
Remove edge properties for each relation across schema/profile/ingestion.
Source code in graflo/architecture/evolution/ops.py
RemoveEdgesOp
¶
Bases: ConfigBaseModel
Remove logical edge relations from schema, profile, and ingestion selectors.
Source code in graflo/architecture/evolution/ops.py
RemoveVertexPropertiesOp
¶
Bases: ConfigBaseModel
Remove vertex properties and propagate pruning to ingestion/db profile references.
Source code in graflo/architecture/evolution/ops.py
RemoveVerticesOp
¶
Bases: ConfigBaseModel
Remove logical vertices and cascade: edges, ingestion resources, bindings.
Source code in graflo/architecture/evolution/ops.py
RenameEdgePropertiesOp
¶
Bases: ConfigBaseModel
Rename edge properties for each relation across schema/profile/ingestion.
Source code in graflo/architecture/evolution/ops.py
RenameRelationsOp
¶
Bases: ConfigBaseModel
Rename logical edge relation names across schema and ingestion.
Source code in graflo/architecture/evolution/ops.py
RenameResourcesOp
¶
Bases: ConfigBaseModel
Rename ingestion resource names and bindings references.
Source code in graflo/architecture/evolution/ops.py
RenameVertexPropertiesOp
¶
Bases: ConfigBaseModel
Rename vertex properties (and identity references) and propagate to ingestion.
renames maps each vertex name to a per-vertex {old_field: new_field} map.
Schema-side: rewrites Field.name, vertex.identity, and any DB profile
structures that reference field names (vertex_indexes, edge_specs.indexes).
Ingestion-side: rewrites VertexActor.from so the doc still uses the OLD field
name (injecting {new_field: old_field} when missing), rewrites
TransformActor.rename values that target a renamed vertex field, and updates
Resource.extra_weights / edge.vertex_weights (:class:~graflo.architecture.graph_types.Weight
fields, map, and filter keys that address vertex observation columns).
Source code in graflo/architecture/evolution/ops.py
RenameVerticesOp
¶
Bases: ConfigBaseModel
Rename logical vertex names across schema, ingestion, and bindings.
Source code in graflo/architecture/evolution/ops.py
SanitizeOp
¶
Bases: ConfigBaseModel
Apply DB-flavor-specific name/field sanitization to a manifest.
Composes (in order):
- Storage-name sanitization on
DatabaseProfile(vertex storage names + edge relation names) against the flavor's reserved-words set. - Vertex field rename for fields whose names are reserved words.
- For TigerGraph, normalize identity fields across edges that share a relation (TigerGraph requires consistent source/target indexes per relation).