Каков наилучший способ создания графа neo4j, когда отношение также имеет некоторую информацию, чтобы быть узлом - PullRequest
0 голосов
/ 04 ноября 2019

Предположим, что у нас есть личность и поездка на объект назначения, например, город, и мы хотим добавить 3 или 4 вида информации, например, транспорт (тип, номер билета, дата и т. Д.), Которая должна быть сама по себе в этом отношении..

Вопрос в том, как мы можем изобразить это?

1 Ответ

2 голосов
/ 05 ноября 2019

Невозможно иметь более двух узлов, связанных с одним отношением.

Однако, в качестве обходного пути, вы можете «преобразовать» тип отношения как метку узла и создать дополнительные типы отношений дляподключитесь к этой новой метке.

Например, если ваша текущая модель данных выглядит следующим образом:

(p:Person)-[:TRIP_TO]->(c:City), (transp:Transporation)

, и вы также хотите связать каждое отношение TRIP_TO с узлом TransportationВы можете изменить отношение TRIP_TO, заменив -[:TRIP_TO]-> на -[:TAKES]->(trip:Trip)-[:TO]->, например, так:

(p)-[:TAKES]->(trip:Trip)-[:TO]->(c)

и добавив еще один новый тип отношения, чтобы подключить узел Trip к соответствующему Transportationузел:

(trip)-[:USES]->(transp)
...