У меня есть вопрос относительно использования клиента Neo4j для Java. У меня есть график с около 120 000 000 узлов и 1 000 000 000 ребер. Из этого графика я хочу извлечь подграфы (средний размер около 500 узлов). Для этого я создал индекс по полям Id узлов. Запросы выглядят так:
MATCH (a:XXX:YYYY)
WHERE a.uid IN [9999, 5555, 7777, 99999, ...]
RETURN a AS blablubb
В данный момент я ищу ребра со вторым запросом, который выглядит следующим образом
MATCH (a::XXX:YYYY)-[r:ZZZZ]-(b::XXX:YYYY)
WHERE a.uid IN [9999, 5555, 7777, 99999, ...]
AND b.uid IN [9999, 5555, 7777, 99999, ...]
Это очень очень медленно, особенно когда подграфы получаются больше. Теперь у меня вопрос: как мне соединить два запроса, чтобы получить одновременно ребра и узлы подграфа? Я знаю, что есть более быстрое решение, потому что браузер Neo4j дает мне визуализацию для
MATCH (a:XXX:YYYY)
WHERE a.uid IN [9999, 5555, 7777, 99999, ...]
RETURN a AS blablubb
, которая содержит все ребра.
большое спасибо за вашу помощь