Struct cayley::path::Morphism [-]  [+] [src]

pub struct Morphism {
    // some fields omitted
}

An interface to a Path with the ability to be saved and reused to construct other Paths, but not to query anything.

Use it to prepare a Path and re-use it several times

#![allow(unused_result)]
use cayley::{Graph, DefaultVersion};
use cayley::path::Vertex as V;
use cayley::path::Morphism as M;
use cayley::path::{Path, Query}; // both traits imports are required
use cayley::selector::{Predicate, Node};

let graph = Graph::new("localhost", 64210, DefaultVersion).unwrap();
let mut follows_m = M::start("foo");
        follows_m.OutP(Predicate("follows"));
graph.save(&mut follows_m).unwrap();
graph.find(V::start(Node("C"))
             .Follow(&follows_m)
             .Has(Predicate("status"), Node("cool_person"))
             .All()).unwrap();

Methods

impl Morphism

fn start(name: &str) -> Morphism

Create a Morphism instance with intention to store it in database under the given name

Trait Implementations

impl Compile for Morphism

fn add_str(&mut self, str: &str) -> &mut Morphism

fn add_string(&mut self, str: String) -> &mut Morphism

fn compile(&self) -> Option<String>

impl Path for Morphism

fn Out(&mut self, predicates: PredicateSelector, tags: TagSelector) -> &mut Self

fn OutP(&mut self, predicates: PredicateSelector) -> &mut Self

fn OutT(&mut self, tags: TagSelector) -> &mut Self

fn In(&mut self, predicates: PredicateSelector, tags: TagSelector) -> &mut Self

fn InP(&mut self, predicates: PredicateSelector) -> &mut Self

fn InT(&mut self, tags: TagSelector) -> &mut Self

fn Both(&mut self, predicates: PredicateSelector, tags: TagSelector) -> &mut Self

fn BothP(&mut self, predicates: PredicateSelector) -> &mut Self

fn BothT(&mut self, tags: TagSelector) -> &mut Self

fn Is(&mut self, nodes: NodeSelector) -> &mut Self

fn Has(&mut self, predicates: PredicateSelector, nodes: NodeSelector) -> &mut Self

fn HasP(&mut self, predicates: PredicateSelector) -> &mut Self

fn HasN(&mut self, nodes: NodeSelector) -> &mut Self

fn Tag(&mut self, tags: TagSelector) -> &mut Self

fn As(&mut self, tags: TagSelector) -> &mut Self

fn Back(&mut self, tags: TagSelector) -> &mut Self

fn Save(&mut self, predicates: PredicateSelector, tags: TagSelector) -> &mut Self

fn SaveP(&mut self, predicates: PredicateSelector) -> &mut Self

fn SaveT(&mut self, tags: TagSelector) -> &mut Self

fn Intersect(&mut self, query: &Query) -> &mut Self

fn And(&mut self, query: &Query) -> &mut Self

fn Union(&mut self, query: &Query) -> &mut Self

fn Or(&mut self, query: &Query) -> &mut Self

fn Follow(&mut self, reusable: &Reuse) -> &mut Self

fn FollowR(&mut self, reusable: &Reuse) -> &mut Self

impl Reuse for Morphism

fn get_name(&self) -> &str

fn set_saved(&mut self)

fn is_saved(&self) -> bool

fn save(&self) -> Option<String>

fn save_as(&self, name: &str) -> Option<String>

impl Clone for Morphism

fn clone(&self) -> Morphism

fn clone_from(&mut self, source: &Self)