cypher_parser.py

class cypher_parser.And(left_conjunct, right_conjunct)[source]

A conjunction

class cypher_parser.AtomicFact[source]

All facts will inherit this class. Not really used yet.

class cypher_parser.AttributeConditionList(attribute_list=None)[source]

A bunch of AttributeHasValue objects in a list

class cypher_parser.AttributeHasValue(designation, attribute, value)[source]

The constraint that a node must have an attribute with a specific value.

class cypher_parser.ClassIs(designation, class_name)[source]

Represents a constraint that a vertex must be of a specific class.

class cypher_parser.Constraint(keypath, value)[source]

For WHERE clauses

class cypher_parser.ConstraintList[source]

A list of Constraint objects

class cypher_parser.CreateQuery(literals, return_variables=None)[source]

Class representing a CREATE... RETURN query, including cases where the RETURN isn’t present.

class cypher_parser.EdgeCondition(edge_label=None, direction=None, designation=None)[source]

Represents the constraint that an edge must have a specific label, or that it must be run in a specific direction.

class cypher_parser.EdgeExists(node_1, node_2, designation=None, edge_label=None)[source]

The constraint that an edge exists between two nodes, possibly having a specific label.

class cypher_parser.Literals(literal_list=None)[source]

Class representing a sequence of nodes (which we’re calling literals).

class cypher_parser.MatchReturnQuery(literals=None, return_variables=None, where_clause=None)[source]

A near top-level class representing any Cypher query of the form MATCH... RETURN

class cypher_parser.Node(node_class=None, designation=None, attribute_conditions=None)[source]

A node specification – a set of conditions and a designation.

class cypher_parser.Not(argument)[source]

Negation

class cypher_parser.Or(left_disjunct, right_disjunct)[source]

A disjunction

exception cypher_parser.ParsingException(msg)[source]

A generic Exception class for the parser.

class cypher_parser.ReturnVariables(variable)[source]

Class representing a sequence (possibly length one) of variables to be returned in a MATCH... RETURN query. This includes variables with keypaths for attributes as well.

cypher_parser.p_condition(p)[source]

condition_list : KEY COLON STRING | condition_list COMMA condition_list | LCURLEY condition_list RCURLEY | KEY COLON condition_list

cypher_parser.p_constraint(p)[source]

constraint : keypath EQUALS STRING

cypher_parser.p_constraint_list(p)[source]

constraint_list : constraint | constraint_list AND constraint_list | constraint_list OR constraint_list | NOT constraint_list | LPAREN constraint_list RPAREN

cypher_parser.p_create(p)[source]

create : CREATE literals return_variables

cypher_parser.p_edge_condition(p)[source]

edge_condition : LBRACKET COLON NAME RBRACKET | LBRACKET KEY COLON NAME RBRACKET

cypher_parser.p_full_query(p)[source]

full_query : match_return | create

cypher_parser.p_keypath(p)[source]

keypath : KEY DOT KEY | keypath DOT KEY

cypher_parser.p_labeled_edge(p)[source]

labeled_edge : DASH edge_condition DASH GREATERTHAN | LESSTHAN DASH edge_condition DASH

cypher_parser.p_literals(p)[source]

literals : node_clause | literals COMMA literals | literals RIGHT_ARROW literals | literals LEFT_ARROW literals | literals labeled_edge literals

cypher_parser.p_match_return(p)[source]

match_return : MATCH literals return_variables | MATCH literals where_clause return_variables

cypher_parser.p_node_clause(p)[source]

node_clause : LPAREN COLON NAME RPAREN | LPAREN KEY COLON NAME RPAREN | LPAREN KEY COLON NAME condition_list RPAREN

cypher_parser.p_return_variables(p)[source]

return_variables : RETURN KEY | RETURN keypath | return_variables COMMA KEY | return_variables COMMA keypath

cypher_parser.p_where_clause(p)[source]

where_clause : WHERE constraint_list