graflo.architecture.graph_types.edge_derivation¶
Edge-derivation wiring shared by contract (authoring) and pipeline (runtime).
:class:EdgeDerivation is the declarative model set on edge pipeline steps
(:class:~graflo.architecture.contract.ingestion.steps.models.EdgeActorConfig):
how an edge step binds to extracted locations and documents. These fields do
not belong in schema edge_config / :class:~graflo.architecture.schema.edge.Edge.
:class:EdgeDerivationRegistry is the mutable runtime store for ingestion-time
edge behavior keyed by :class:~graflo.architecture.graph_types.identifiers.EdgeId
(typically one instance per :class:~graflo.architecture.pipeline.runtime.resource.ResourceRuntime).
When :attr:EdgeDerivation.relation_from_key is true, the registry records the
edge id so :class:~graflo.architecture.schema.db_aware.EdgeConfigDBAware (with
overlay) can align TigerGraph DDL with runtime.
EdgeDerivation
¶
Bases: ConfigBaseModel
How this edge step selects vertex locations and reads per-row relation from data.
Source code in graflo/architecture/graph_types/edge_derivation.py
uses_secondary_identity()
¶
True when either endpoint is matched on something other than the primary identity.
Source code in graflo/architecture/graph_types/edge_derivation.py
EdgeDerivationRegistry
¶
Mutable store for ingestion-time edge behavior keyed by :class:EdgeId.
Lives under the ingestion layer (typically one instance per :class:ResourceRuntime),
not on :class:~graflo.architecture.schema.core.CoreSchema.
Source code in graflo/architecture/graph_types/edge_derivation.py
has_endpoint_matches()
¶
Whether any edge locates its endpoints by a secondary identity.
Such edges are resolved against database state at write time, which makes cross-batch write ordering semantic for the resource.
Source code in graflo/architecture/graph_types/edge_derivation.py
merge_vertex_weights(edge_id, rules)
¶
Append vertex weight rules for edge_id, deduplicating by stable fingerprint.
Source code in graflo/architecture/graph_types/edge_derivation.py
set_endpoint_match(edge_id, match)
¶
Record how edge_id locates its endpoints, for the write stage.
Only non-default selections are stored, so an edge matching on primary identity — the overwhelming majority — leaves no entry and costs nothing.
Source code in graflo/architecture/graph_types/edge_derivation.py
EndpointMatch
dataclass
¶
Which identity each endpoint of an edge is matched on at write time.
None selectors mean the vertex's primary identity, which is the default
and leaves the write path exactly as it has always been.