use crate::Value;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum EntityRef {
Node(u64),
Rel(u64),
}
pub trait StorageAdapter {
type Error: std::error::Error + Send + Sync + 'static;
fn resolve(&self, entity: EntityRef) -> Result<Option<u64>, Self::Error>;
fn get_property(&self, entity: EntityRef, key: &str) -> Result<Value, Self::Error>;
fn set_property(
&mut self,
entity: EntityRef,
key: &str,
value: Value,
) -> Result<(), Self::Error>;
fn remove_property(&mut self, entity: EntityRef, key: &str) -> Result<(), Self::Error>;
}