Я развлекаюсь с Neo4j, и мне нужно знать, как найти узлы, которые связаны с каждым из узлов данного подграфа.
Поясним это на примере:
(У меня около 15000 узлов в моей базе данных)
Теперь, учитывая подграф (c1:Thing),(c2:Thing),...(cn:Thing), я хочу знать все узлы, которые не являются ни одним из (c1),...,(cn), но они иметь отношение с каждым узлом (c1),...,(cn)
Другими словами, я бы нашел Cj, где существуют отношения: (Cj)-[r1]-(c1) . . . (Cj)-[rn]-(сп)
И j не в {1, ...., n}
Посмотрите на это изображение, чтобы увидеть пример
Итак, в основном я хочу СООТВЕТСТВОВАТЬ узлам, таким как c6, тем, которые связаны с каждым из узлов подграфа (узлы выделены красным).
ПРИМЕЧАНИЕ. В указанном подграфе может быть любое количество узлов (n — переменная величина).
Моя первая мысль:
ПОИСКПОЗ (c1:Вещь)-[r1]-(предложить:Вещь), (c2:Вещь)-[r2]-(предложить:Вещь), .... ,(cn:Вещь)-[rn]-(предложить :Thing) ГДЕ c1.id=1 И ..... И cn.id=n И НЕ(предложить.id IN [1, ...., n]) ВОЗВРАТ c1, r1, ...... , сп, р-н, предложить;
Но это действительно отстой, когда у нас есть большое число "n".
Не могли бы вы помочь мне?
Спасибо, и хорошего дня!