graflo.architecture.evolution.ops.field_types¶
Ops that change the declared type of vertex and edge fields.
Classes¶
ChangeFieldTypesOp
¶
Bases: ConfigBaseModel
Set the logical type of existing vertex or edge properties.
Makes the differ's CHANGE_VERTEX_FIELD_TYPE / CHANGE_EDGE_FIELD_TYPE
authorable. Targets are validated against the profile's db_flavor so an
unsupported type fails here rather than at define time.
Source code in graflo/architecture/evolution/ops/field_types.py
Attributes¶
edges = PydanticField(default_factory=dict, description='``{relation_name: {field_name: {type, item_type}}}``.')
class-attribute
instance-attribute
¶
op = 'change_field_types'
class-attribute
instance-attribute
¶
per_edge = PydanticField(default_factory=list, description='Retypes on single edge triples, including an edge with no relation.')
class-attribute
instance-attribute
¶
vertices = PydanticField(default_factory=dict, description='``{vertex_name: {field_name: {type, item_type}}}``.')
class-attribute
instance-attribute
¶
Methods:¶
edge_changes_for(edge_id)
¶
The retypes that reach the edge edge_id, from either form.
Source code in graflo/architecture/evolution/ops/field_types.py
EdgeFieldTypes
¶
Bases: EdgeSelector
Retypes on one edge triple.
Source code in graflo/architecture/evolution/ops/field_types.py
FieldTypeSpec
¶
Bases: ConfigBaseModel
Target logical type for one property.
Source code in graflo/architecture/evolution/ops/field_types.py
MergeFieldTypes
¶
Bases: ConfigBaseModel
The type of a merged property, declared on the merge by its merged names.
Keyed by the class or relation name and the property name the merged manifest carries. The merge retypes every member, on either side, that carries the property (under whatever spelling it is renamed from) before folding it, so members that disagree on a type merge into the declared one. Members that do not carry the property are left alone.