В браузере Neo4j, с кодом:
MATCH (a:VAR1)<--(s:VARX {id: 'MYID'})-->(b:VAR2) RETURN a, b;
В графическом представлении я вижу только 6 узлов
VAR1 id:A
VAR1 id:B
VAR1 id:C
VAR2 id:X
VAR2 id:Y
VAR2 id:Z
Но в табличном представлении я вижу все возможные комбинации:
VAR1.id VAR2.id
A X
A Y
A Z
B X
B Y
B Z
C X
C Y
C Z
это полное объединение, которое я хочу
однако на основании этого я хотел бы создать узел для каждой отдельной комбинации
VARY
{id1:"A",id2:"X"}
{id1:"A",id2:"Y"}
{id1:"A",id2:"Z"}
{id1:"B",id2:"X"}
{id1:"B",id2:"Y"}
{id1:"B",id2:"Z"}
{id1:"C",id2:"X"}
{id1:"C",id2:"Y"}
{id1:"C",id2:"Z"}
Кроме того, все из этих узлов требуется связь с их двумя исходными узлами
[VARY {id1:"A",id2:"X"}] -FROM-> [VAR1 {id:"A"}]
[VARY {id1:"A",id2:"X"}] -FROM-> [VAR2 {id:"X"}]
Я пробовал так много комбинаций с UNWIND, так много FOREACH, без удачи, любой совет был бы оценен. Спасибо за ваше время.
Лучшее объяснение того, зачем мне это нужно
Мне нужно, чтобы 3 информации были связаны вместе
VAR1 VAR2 VAR3
A X M
A Y P
A Z O
B X M
B Y Q
B Z O
C X M
C Y R
C Z O
Как видите, я нужно в качестве структуры декартово произведение VAR1 и VAR2. Однако VAR3 может содержать разные значения, основанные на каждой комбинации VAR1 и VAR2, правильная визуализация будет фактически в сводной таблице, подобной этой
X Y Z
A M P O
B M Q O
C M R O
Going to cypher У меня есть VAR1, VAR2, VAR3, хранящиеся в независимых узлах, чтобы не потерять отслеживаемость соединения. Я создаю узел, соединяющий 3 информации.
В основном, VARX фильтрует эти данные, и у меня есть:
VARX - [TOVAR1] -> VAR1(a)
VARX - [TOVAR1] -> VAR1(b)
VARX - [TOVAR1] -> VAR1(c)
VARX - [TOVAR2] -> VAR2(x)
VARX - [TOVAR2] -> VAR2(y)
VARX - [TOVAR2] -> VAR2(z)
VARX - [TOVAR3] -> VAR3(M)
VARX - [TOVAR3] -> VAR3(O)
VARX - [TOVAR3] -> VAR3(P)
VARX - [TOVAR3] -> VAR3(Q)
VARX - [TOVAR3] -> VAR3(R)
Так что мне для ячейки (1,1) нужно отношение VAR1 (a) и VAR2 (x) и VAR3 (M) должен быть заполнен в другом независимом узле, который может хранить тройку (a, x, m). То же самое для всех пар VAR1_n * VAR2_n (VAR1, VAR2), в данном случае 3 * 3 = 9.
Имеет ли это смысл для вас?