Я прочитал документацию, и я борюсь со следующим случаем (возможно, я имею в виду neo4j и hyperedges, и поэтому я могу ясно мыслить здесь):
Предположим, что я хочу смоделировать следующее лица: :person
(с некоторыми атрибутами, такими как :name
, id
, et c), :school
(снова некоторые атрибуты), отношение между school
и person
может быть как :student
или :teacher
. И это может развиться во времени (а: человек не может быть связан со школой, позже это :student
и гораздо позже, может быть, как :teacher
)
Когда :person
является :student
у него будет идентификатор студента, и как :teacher
у него будет другой идентификатор, скажем, идентификатор учителя.
Итак, я должен иметь:
:person/name 'John'
:school/id 'SCHOOL-1'
:student/name 'John'
:student/school 'SCHOOL-1'
? Как я должен включать информацию как student-id
, Что, если есть больше школ?
Но сейчас мне кажется, что отношения между этими объектами - это гипер-грань (вот почему я упомянул neo4j). И я не знаю, какой лучший способ моделирования это datomi c.
Заранее спасибо