2016-12-07 2 views
0

Например, у меня есть три отношения в базе данныхКак отделить столбцы в строки в Neo4j

(0001)-[relation1]-(node3) 

(0001)-[relation2]-(node3) 

(0002)-[relation3]-(node3) 

Я хочу, чтобы запросить эти отношения между 0001, 0002 и их общими друзьями

MATCH(s1:Person{name:'0001'})-[f1]->(x),(s2:Person{name:'0002'})-[f2]-(x) return f1, f2 

Однако , он возвращает 2 строки с 2 столбцами

f1       f2        
relation1      relation3 
relation2      relation3 

Как сделать результат в 3 ряда с одним столбцом?

relation1 
relation2 
relation3 

ответ

0

Вы можете СБОР(), а затем добавить коллекцию вместе, а затем UNWIND:

MATCH(s1:Person{name:'0001'})-[f1]->(x),(s2:Person{name:'0002'})-[f2]-(x) 
WITH COLLECT(DISTINCT f1) + COLLECT(DISTINCT f2) as rels 
UNWIND rels as rel 
RETURN rel 
Смежные вопросы