Skip to main content

Module cypher

Module cypher 

Source
Expand description

openCypher subset: lexer, AST, recursive-descent parser. The compiler that lowers AST onto graph operators lives in a separate slice; this module is the front-end only.

Re-exports§

pub use ast::BinaryOp;
pub use ast::CaseExpr;
pub use ast::CreateClause;
pub use ast::CypherClause;
pub use ast::CypherExpr;
pub use ast::CypherQuery;
pub use ast::DeleteClause;
pub use ast::FunctionCall;
pub use ast::InList;
pub use ast::IsNotNull;
pub use ast::IsNull;
pub use ast::ListComprehension;
pub use ast::ListIndex;
pub use ast::ListLiteral;
pub use ast::ListSlice;
pub use ast::Literal;
pub use ast::MapLiteral;
pub use ast::MatchClause;
pub use ast::MergeClause;
pub use ast::NodePattern;
pub use ast::OrderByItem;
pub use ast::Parameter;
pub use ast::PathElement;
pub use ast::PathPattern;
pub use ast::PropertyAccess;
pub use ast::RelDirection;
pub use ast::RelPattern;
pub use ast::ReturnClause;
pub use ast::ReturnItem;
pub use ast::SetClause;
pub use ast::SetItem;
pub use ast::SetOperator;
pub use ast::UnaryOp;
pub use ast::UnwindClause;
pub use ast::Variable;
pub use ast::WithClause;
pub use executor::Binding;
pub use executor::BindingRow;
pub use executor::CypherError;
pub use executor::CypherExecutor;
pub use executor::ResultRow;
pub use lexer::tokenize;
pub use lexer::LexError;
pub use lexer::Token;
pub use lexer::TokenKind;
pub use parser::parse_cypher;
pub use parser::ParseError;
pub use writer::CypherWriter;

Modules§

ast
Cypher AST. Mirrors the openCypher subset implemented by the UQA Cypher subset: MATCH, OPTIONAL MATCH, CREATE, MERGE, SET, DELETE, DETACH DELETE, RETURN, WITH, WHERE, ORDER BY, SKIP, LIMIT, UNWIND.
executor
Read-only Cypher executor: walks a CypherQuery AST and lowers it onto graph operators against a GraphStore.
lexer
Cypher tokenizer. Produces a flat Token vector consumed by the recursive-descent parser. Keywords are case-insensitive — they arrive as Identifier tokens whose uppercased text the parser matches against keyword strings.
parser
Recursive-descent parser for the supported openCypher grammar.
writer
Mutating Cypher executor: extends the read-only CypherExecutor pipeline with CREATE, SET, MERGE, DELETE / DETACH DELETE, and UNWIND clauses. Reads delegate to a transient CypherExecutor view that borrows the store immutably.