2013-09-24 18 views
5

Ich bin ziemlich neu bei Neo4j und habe das folgende Problem zur Hand. Ich versuche eine Social-Networking-Site zu entwickeln, in der ich die Nachricht zwischen zwei Benutzern über ihre Beziehungseigenschaft speichern möchte. Dafür versuche ich, alle ihre Nachrichten in Form von Array/Liste auf einer Beziehungseigenschaft zu speichern. Können Sie mir bitte vorschlagen, ob Neo4j solche Operationen anbietet?Speichern von Daten als Array/Liste auf der Eigenschaft neo4j

Ich möchte auch wissen, ob ich meine Botschaft auf diese Beziehung Eigenschaft und die Array/Liste Updates konnte diese einfügen (dh fügt neue Nachricht auf dem nächsten Index)

Für Ex:

User1 -> User2 : Hi, whats up 
User2 -> User1 : Hi, I am in college 

So the relationship property stores the message in the form of list such as: 
["Hi,Whats up", "Hi, I am in college"] 

Etwas auf diese Weise ..... Danke

Antwort

5

Neo4j unterstützt Array-Eigenschaften, siehe http://neo4j.com/docs/rest-docs/current/#rest-api-property-values.

Allerdings bin ich mir nicht sicher, ob Sie hier einen guten Modellierungsansatz verwenden. Wenn Sie alle Nachrichten in einem Array speichern, ist die Zeitachse der Konversation im Diagramm nicht explizit. Noch schlimmer, wenn ein Benutzer1 zwei Nachrichten an Benutzer2 sendet, ohne dass dazwischen eine Antwort von Benutzer2 erfolgt, dann wissen Sie nicht mehr, wer der Absender und der Empfänger waren.

Stellen Sie sich einen Knoten vor, der eine Konversation darstellt. Die Konversation bezieht sich auf zwei Benutzer. Eine andere Beziehung zeigt auf den Anfang (oder das Ende) des Nachrichtenflusses innerhalb dieser Konversation. Die Nachrichten selbst sind mit NEXT- und/oder PREVIOUS-Beziehungen miteinander verknüpft.

+0

Danke für Ihre Antwort Stefan !!! Ich plane tatsächlich, die Konversation in einer Eigenschaft einer Beziehung zwischen den zwei Knoten zu speichern, die als Benutzer dargestellt werden. Ich würde die Nachrichten zusammen mit Zeitstempeln im JSON-Format speichern. Bitte lassen Sie mich wissen, wenn dieser Ansatz gut klingt !!! Danke –

+0

Das ist in Ordnung, wenn die Nachricht nicht "eine Sache von sich" im Kontext Ihrer Anwendung ist. Wenn Sie z.B. wollen, dass später Leute Nachrichten bewerten oder markieren, die sie versteckt haben. Wenn Sie sie explizit als Knoten modelliert haben, können sie von Knoten referenziert werden, die Tags oder Bewertungen darstellen. –

+0

Danke Stefan für deine Vorschläge. Wertvolle Eingaben in der Tat !!! –

Verwandte Themen