summaryrefslogtreecommitdiff
path: root/src/server/neo4j_cypher.py
diff options
context:
space:
mode:
authorLV-426 <lv-426@taproot.org.il>2015-05-17 18:09:04 +0300
committerLV-426 <lv-426@taproot.org.il>2015-05-17 18:09:04 +0300
commit547d55621499a26055d59ce2f84516693fffb7aa (patch)
treefc1173ee4d0ac6e10c9d4bac6770fefe56b4bf36 /src/server/neo4j_cypher.py
parentba36c0820bc023fe548ec817cb434bc387a1baa2 (diff)
DBO_raw_query_set - [!] use discouraged, work around queries the parser can't handle
Diffstat (limited to 'src/server/neo4j_cypher.py')
-rw-r--r--src/server/neo4j_cypher.py25
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