summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlon Levy <alon@pobox.com>2015-05-11 18:11:51 +0300
committerAlon Levy <alon@pobox.com>2015-05-12 12:29:54 +0300
commit230f6cb79d1764755371584977a998161a24d64a (patch)
tree9acd6896ee91bb717b44b2d3550f01bc636711f4 /src
parent4ed49fc00cda1e916d3d1107fe2f816201e94de7 (diff)
server: neo4j_cypher_parser: accept (but don't understand) multiplicity
Diffstat (limited to 'src')
-rw-r--r--src/server-tests/test_neo4j_cypher.py1
-rw-r--r--src/server/neo4j_cypher_parser.py4
2 files changed, 3 insertions, 2 deletions
diff --git a/src/server-tests/test_neo4j_cypher.py b/src/server-tests/test_neo4j_cypher.py
index a64d9f06..1d618fe8 100644
--- a/src/server-tests/test_neo4j_cypher.py
+++ b/src/server-tests/test_neo4j_cypher.py
@@ -91,6 +91,7 @@ class Test_DB_Op(unittest.TestCase):
'match ()-[:A]->()',
'match (n:`T_nMu7ktxW` {node_attr})',
'match (n:A:B)-[r_b:Knows {a: \'0\'}]-(m:Skill), (n)-[]-(m)',
+ 'match (n:A)-[r:B*0..432]-(m)',
#
# UNICODE tests
diff --git a/src/server/neo4j_cypher_parser.py b/src/server/neo4j_cypher_parser.py
index b95f2987..5ba8a8f5 100644
--- a/src/server/neo4j_cypher_parser.py
+++ b/src/server/neo4j_cypher_parser.py
@@ -264,11 +264,11 @@ class e_value(pt_abs_node):
@classmethod
def rgx__unquoted(self, g_name='value'):
- return '(?P<%s>[\w\d_]+)' % (g_name)
+ return '(?P<%s>[\w\d_]+(\*\d*\.\.\d*)?)' % (g_name)
@classmethod
def rgx__quoted(self, g_name='value', quote_tok='\''):
- return '%s(?P<%s>[\w\d_\-\s]+)%s' % (quote_tok, g_name, quote_tok)
+ return '%s(?P<%s>[\w\d_\-\s]+(\*\d*\.\.\d*)?)%s' % (quote_tok, g_name, quote_tok)
def str__tok_open(self):
if self.quoted: return self.quote_tok