pub enum Value {
Node(Node),
Edge(Edge),
Property(PropertyValue),
Literal(Literal),
List(Vec<Value>),
Path(Vec<PathElem>),
Map(BTreeMap<String, Value>),
Null,
}Variants§
Node(Node)
Edge(Edge)
Property(PropertyValue)
Literal(Literal)
List(Vec<Value>)
A list literal, collect() result, or a list-valued node/edge
property read back from storage (PropertyValue::List converts to
this, never a raw Value::Property(PropertyValue::List(_)) — see
executor::property_value_to_value) — every existing list
operation (indexing, size(), IN, UNWIND, …) pattern-matches
on this variant specifically, not on a property-sourced list
separately.
Path(Vec<PathElem>)
A named path (MATCH p = (a)-->(b) RETURN p) or a shortestPath()
result — see Binding::Path’s docs (executor.rs) for how this
gets assembled during MATCH evaluation.
Map(BTreeMap<String, Value>)
A map literal ({a: 1, b: 2}) — like List, a query-layer-only
concept, never persisted as a PropertyValue (nothing in the
grammar can construct a map literal to store as a node/edge
property directly; a CREATE {...} prop map’s values are each
evaluated and stored individually as their own scalar
PropertyValue — see Executor::eval_props_to_values — a Value:: Map reaching there is a real error, not silently dropped). Its
other main real use is as a date(...)/duration(...)
construction function’s argument, e.g. date({year: 1984, month: 10, day: 11}) — see Executor::call_builtin. BTreeMap, not
HashMap — canonical key order makes display/comparison
deterministic without a separate sort step.
Null
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Value
impl RefUnwindSafe for Value
impl Send for Value
impl Sync for Value
impl Unpin for Value
impl UnsafeUnpin for Value
impl UnwindSafe for Value
Blanket Implementations§
Source§impl<T> AnyExt for T
impl<T> AnyExt for T
Source§fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
fn downcast_ref<T>(this: &Self) -> Option<&T>where
T: Any,
T behind referenceSource§fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
fn downcast_mut<T>(this: &mut Self) -> Option<&mut T>where
T: Any,
T behind mutable referenceSource§fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
fn downcast_rc<T>(this: Rc<Self>) -> Result<Rc<T>, Rc<Self>>where
T: Any,
T behind Rc pointerSource§fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
fn downcast_arc<T>(this: Arc<Self>) -> Result<Arc<T>, Arc<Self>>where
T: Any,
T behind Arc pointer