Я моделирую систему событий. Скажем, у меня есть событие EVENT_A. Когда я создаю событие, я фиксирую некоторую информацию - кто вызвал событие (лицо A), на которое повлияло событие (лицо B), и как повлияло лицо B (идентифицировано свойство B (автомобиль, дом и т. Д.) .)В Neo4j, когда уместно использовать отношения?
(EVENT_A) -> [: Влияет] -> (лИЦО {является: Ь})
Теперь суть - Do I:
- Put "Люди а" и «б свойство "в EVENT_A? Там будут сотни EVENT_A, в конце концов ... Или я
- Сделайте их свойствами по отношению AFFECTS?
Любой из них будет работать.
плюсы/минусы для # 1:
- Там должно быть узлом события на событие; нет совместного использования. Это раздражает, потому что у меня есть информация в EVENT_A, которая может быть разделена между всеми узлами EVENT_A; а именно текстовое описание того, что означает событие.
- Я могу связать человека A с соответствующим узлом PERSON и даже не иметь его как свойство на EVENT_A.
плюсы/минусы для # 2:
- Многие из того же узла EVENT_A может относиться к через: ЗАТРАГИВАЕТ к нескольким лицам.
- Атрибуты AFFECTS не могут быть связаны с другими узлами, и, таким образом, я могу потерять некоторую доброту запросов.
- Отношения AFFECTS выглядят пустыми, как будто я не использую его.
Итак, что является ориентиром для того, что входит в отношения и какие вещи складываются в узлы?