Как отправить коллекцию узлов через neo4j-stream на kafka - PullRequest
0 голосов
/ 27 апреля 2020

Мы хотим использовать Neo4J для построения иерархии (древовидной структуры) категорий (продуктов). Наши данные поступают с Kafka (Sink Connector). Мы планируем использовать Neo4J Streams Source для прямой трансляции обновлений нашего дерева категорий обратно на Kafka, используя neo4j-4.0.3.

Обычно, - Streams Source - путь к go заключается в указании шаблон и связать его с топологией Kafka c, как описано здесь: https://neo4j.com/docs/labs/neo4j-streams/current/#neo4j_streams_source

Чтобы использовать возможности Neo4J, мы хотели бы отправить коллекцию узлов каждый раз одновременно . Эта коллекция состоит из всех узлов в запросе, который возвращает путь: nodes(path). Более конкретно, такой набор узлов представляет путь от листа до root.

Две нерабочие альтернативы, о которых мы могли подумать:

  1. Использовать определение шаблона . Из того, что я понимаю, шаблон, кажется, ограничен, чтобы соответствовать только одному узлу (возможно, узлу с несколькими метками) - https://neo4j.com/docs/labs/neo4j-streams/current/#source -patterns - и, следовательно, мы можем только выводить один узел за раз .
  2. Потоковая коллекция узлов (на пути) обратно в узел с другой меткой и использование этого метка выходного узла соответствует шаблону {*}. Neo4J, являясь базой данных графов, ориентированных на свойства, не позволяет мне записывать «коллекцию узлов» в один узел.

Подводя итог, нам нужно вывести поток узлов в каждый узел. Кафка запись. Есть предложения о том, как этого добиться?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...