pub trait Query {
// Required methods
fn query(&mut self, q: &str) -> Result<Vec<u64>, Error>;
fn query_nodes(&mut self, q: &str) -> Result<Vec<&Node>, Error>;
fn query_on(
&mut self,
node_id: u64,
q: &str,
recursive: bool,
) -> Result<Vec<u64>, Error>;
fn query_on_nodes(
&mut self,
node: &Node,
q: &str,
recursive: bool,
) -> Result<Vec<&Node>, Error>;
}