#neo4j #spring-data-neo4j #neo4j-ogm #neo4j-apoc
#neo4j #spring-data-neo4j #neo4j-ogm #neo4j-apoc
Вопрос:
1. Я пытался построить отношения между узлами каждого твита. Твит может содержать несколько твитов-ответов и твитов-ретвитов. Предполагая, что у меня есть два узла, которые называют Tweet и Tweets соответственно. Если Tweet.id = Tweets.reply_toid связь может быть (Tweets)-[:replyto]->[Tweet]. Если Tweet.id = Tweets.retweet_id связь может быть (Tweets)-[:retweet]->[Tweet]. Как я могу создать древовидную структуру, подобную скриншоту ниже?
2 Например, идентификатор твита равен 123, reply_to равен 321, другой идентификатор твита равен 321, а идентификатор reply_to равен 456. Тогда график должен быть похож на 123-[ответ]-> 321- [ответ]-> 456. Но для моего результата я получил отдельные результаты reply_to: 123-[ответить]-> 321 321- [ответить] -> 456. Как я могу создать иерархическое дерево, похожее на снимок экрана?
CALL apoc.load.json("file:///tweets.json")
YIELD value
MERGE (t:Tweet {id: value.id})
WITH t, value
where exists(value.retweet_id)
MERGE (c:Tweet {id: value.retweet_id})
MERGE (t)-[:retweet]->(c)
WITH t, value
where exists(value.replyto_id)
MERGE (T:Tweet {id: value.replyto_id})
MERGE (t)-[:reply]->(T);
Комментарии:
1. Не уверен, что вы имеете в виду, когда говорите, что пытаетесь создать дерево иерархии. Вы имеете в виду конкретную визуализацию (возможно, в браузере Neo4j)? Вы подтвердили, что ваши узлы хранятся с правильными отношениями друг с другом? Неясно, в чем конкретная проблема (это проблема моделирования? инструмент визуализации?). Кроме того, неясно, что вы сделали до сих пор, и где вы застряли. Единственное, чем вы поделились, это чертеж.
2. Извините за это, я не знаю, как четко описать этот вопрос… Я только что написал кусок кода, не могли бы вы помочь мне его проверить?
3. Можете ли вы опубликовать изображение того, как данные выглядят после того, как вы вставили их с помощью своего кода. Тогда будет понятно