pub struct EdgeSet {
pub src_label: String,
pub edge_type: String,
pub dst_label: String,
pub src_id_column: String,
pub dst_id_column: String,
pub edge_key_props: Vec<String>,
pub replace_outgoing: bool,
pub batch: RecordBatch,
}Expand description
Relationships to upsert: batch must hold src and dst columns with
the id values of the endpoint nodes; remaining columns become properties.
Fields§
§src_label: String§edge_type: String§dst_label: String§src_id_column: StringId column on the endpoint nodes that src/dst values refer to.
dst_id_column: String§edge_key_props: Vec<String>Property columns whose values participate in the relationship MERGE
key. Empty (the default, and every historical producer) keeps the
original behaviour: MERGE (a)-[e:type]->(b) collapses to ONE edge per
(src, type, dst). When non-empty, those properties are folded into the
relationship pattern — MERGE (a)-[e:type {p: r.props.p}]->(b) — so
distinct property combinations survive as PARALLEL edges between the
same endpoints (e.g. two WORKS_AT edges with different since). Each
name must be a property column of batch (i.e. not src/dst).
replace_outgoing: boolOne edge of this type per source node — the row is the truth: before
the upsert, the source node’s other outgoing edges of this type (to any
other target, or all of them when dst is null — the foreign key was
cleared) are deleted. This is how a changed foreign key drops its old edge
whatever the changelog carried for the old row. Set by fk_edges steps;
ignored when edge_key_props is non-empty (parallel edges are the point).
batch: RecordBatchTrait Implementations§
Auto Trait Implementations§
impl !RefUnwindSafe for EdgeSet
impl !UnwindSafe for EdgeSet
impl Freeze for EdgeSet
impl Send for EdgeSet
impl Sync for EdgeSet
impl Unpin for EdgeSet
impl UnsafeUnpin for EdgeSet
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more