pub enum Operation {
CreateNode {
node: Node,
},
CreateEdge {
edge: Edge,
},
SetProperty {
target: PropertyTarget,
key: String,
value: Value,
},
RemoveProperty {
target: PropertyTarget,
key: String,
},
AddLabel {
node_id: NodeId,
label: String,
},
RemoveLabel {
node_id: NodeId,
label: String,
},
DeleteNode {
node_id: NodeId,
},
DeleteNodeDetach {
node_id: NodeId,
},
DeleteEdge {
edge_id: EdgeId,
},
CreateIndex {
label: String,
property: String,
},
DropIndex {
label: String,
property: String,
},
}Expand description
A single, serializable graph mutation.
Operations are stored in WAL frames and replayed on recovery, and also
buffered in Vec<Operation> for explicit-transaction staging. All
variants must be serializable via bincode.
Variants§
CreateNode
Insert a new node (idempotent — ignored if the ID already exists).
CreateEdge
Insert a new edge (idempotent — ignored if the ID already exists).
SetProperty
Set or overwrite a property on a node or edge.
RemoveProperty
Remove a property key from a node or edge.
AddLabel
Add a label to a node (no-op if the label is already present).
RemoveLabel
Remove a label from a node.
DeleteNode
Delete a node (fails if it still has incident edges).
DeleteNodeDetach
Delete a node and all its incident edges (DETACH DELETE semantics).
DeleteEdge
Delete an edge by ID.
CreateIndex
Declare a property index on (label, property).
DropIndex
Remove a property index for (label, property).