2016-11-01 2 views
0

Ich spiele mit neo4j - sehend, was ich kann und kann nicht damit machen, bevor ich es für etwas ernstes vorschlage. Eine Sache, die ich versuche herauszufinden, ist, ob du eine zusammengesetzte Beziehung haben kannst.Zusammengesetzte Beziehung in neo4j

In meinem Spiel, mache ich einen Stammbaum - es scheint eine ideale Passform. Ich möchte zum Ausdruck bringen, dass zwischen zwei Menschen ein Lebensereignis stattgefunden hat - zum Beispiel zu heiraten - und wo es passiert ist. Die MARRIED_TO-Beziehung zwischen zwei PERSON-Knoten ist einfach. Ich habe Probleme mit der Beziehung zum PLACE-Knoten.

In meinem Kopf scheint es, dass das, was ich wirklich will, eine Beziehung ist, die vom Knoten PLACE zur Beziehung MARRIED_TO geht, und ich glaube nicht, dass das möglich ist.

Alternativ könnte ich die MARRIED_TO-Beziehung zwischen drei Knoten sehen, aber das nicht nur nicht richtig, sondern auch nicht möglich ist.

Das Beste, was ich tun kann, ist entweder einen EVENT-Knoten, der die Ehe darstellt, die sich klobig anfühlt, oder eine Beziehung von beiden PERSON-Knoten zum PLACE hat, die dann eine Duplizierung von Daten darstellt.

Gibt es eine geeignete Methode zur Verwaltung dieser Art von Daten? Oder verpasse ich gerade etwas?

Antwort

1

Betrachten Sie "Ehe" ist ein wichtiger Teil Ihrer Domäne. Alles, was eine Entität ist, verdient einen separaten Knoten - so wird "Hochzeit" (oder Ereignis) ein Knoten. Dieser Knoten kann dann mit den zwei Personen und dem Standort verbunden werden.

+0

Das war das Beste, was ich mir vorstellen konnte. Es endet dann mit allen Eigenschaften, die auf Knoten und nicht Beziehungen sind, und die Beziehungen verbinden einfach Dinge miteinander, aber es funktioniert. Technisch erlaubt es falsche Verbindungen - z.B. eine dritte Person - aber das könnte in Ordnung sein und kann ansonsten in Geschäftslogik behandelt werden. – Graham

Verwandte Themen