diff options
Diffstat (limited to 'src/server/neo4j_cypher.py')
| -rw-r--r-- | src/server/neo4j_cypher.py | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/src/server/neo4j_cypher.py b/src/server/neo4j_cypher.py index 6d1cfa57..31a73450 100644 --- a/src/server/neo4j_cypher.py +++ b/src/server/neo4j_cypher.py @@ -3,12 +3,14 @@ Neo4j DB object """ from enum import Enum -from neo4j_cypher_parser import Cypher_Parser, e_clause__where, e_keyword,\ - e_value import logging + +from neo4j_cypher_parser import Cypher_Parser, e_clause__where, e_keyword, \ + e_value import neo4j_cypher_parser import neo4j_schema + log = logging.getLogger('rhizi') class Query_Struct_Type(Enum): @@ -44,6 +46,9 @@ class Query_Struct_Type(Enum): class DB_Query(object): + """ + DB query object + """ def __init__(self, q_arr, param_set={}): """ @@ -114,6 +119,22 @@ class DB_Query(object): def str__cypher_query(self): return self.pt_root.str__cypher_query() +class DB_Raw_Query(object): + """ + Raw DB query object which does not undergo parsing + """ + + def __init__(self, q_arr, param_set={}): + self.q_arr = q_arr + self.param_set = param_set + + def __iter__(self): + for keyword, clause_set in self.pt_root.index__kw_to_clause_set().items(): + yield keyword, clause_set + + def str__cypher_query(self): + return ' '.join(self.q_arr) + class DB_row(object): def __init__(self, data): self.data = data |
