def test_2_edges(self):
     input_query = 'MATCH ()-[e1]->()-[e2]->()'
     expected = 'RETURN [] AS nodes, ' \
         '[id(e1), id(e2)] AS edges, ' \
         '[e1.timestamps, e2.timestamps] AS timestamps'
     result = self.extract_output(append_return_clause(input_query))
     self.assertEqual(result, expected)
示例#2
0
 def transpile_part(part):
     if ' '.join(part.split()).strip() in ('UNION', 'UNION ALL'):
         return part.strip()
     part = restrict_query_to_sketch(part, sketch_id)
     part = append_return_clause(part)
     part = unwind_timestamps(part)
     return part.strip()
 def test_varlength_edge(self):
     input_queries = ('MATCH ()-[e1]->()-[e2%s]->()' % length
                      for length in ['*', '*..', '*0..', '*..1', '*0..1'])
     expected = 'RETURN [] AS nodes, ' \
         '[id(e1)] AS edges, [e1.timestamps] AS timestamps'
     for input_query in input_queries:
         result = self.extract_output(append_return_clause(input_query))
         self.assertEqual(result, expected)
 def test_local_binders(self):
     input_query = 'MATCH (a) WHERE size((b)-[c]-(d)) > 0'
     expected = 'RETURN [id(a)] AS nodes, [] AS edges, [] AS timestamps'
     result = self.extract_output(append_return_clause(input_query))
     self.assertEqual(result, expected)
 def test_2_nodes(self):
     input_query = 'MATCH (a)-->(b)'
     expected = 'RETURN [id(a), id(b)] AS nodes, ' \
         '[] AS edges, [] AS timestamps'
     result = self.extract_output(append_return_clause(input_query))
     self.assertEqual(result, expected)