2013-09-24 12 views
5

Jestem dość nowy w Neo4j i mam następujący problem pod ręką. Próbuję stworzyć serwis społecznościowy, w którym chciałbym przechowywać wiadomość wymienianą między dwoma użytkownikami na ich właściwościach relacji. W tym celu próbuję przechowywać wszystkie ich wiadomości w postaci tablicy/listy we właściwości relacji. Czy możesz zasugerować, czy Neo4j zapewnia takie rodzaje operacji.Przechowywanie danych jako tablicy/listy na własności neo4j

Chciałbym również wiedzieć, czy mogę po prostu włożyć moją wiadomość na tej nieruchomości relacjami i aktualizacji array/list (tj dodaje nową wiadomość na następnej indeksu)

Dla 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"] 

Coś w ten sposób ..... Dzięki

Odpowiedz

5

Neo4j obsługuje właściwości tablicy, zobacz http://neo4j.com/docs/rest-docs/current/#rest-api-property-values.

Jednak nie jestem pewien, czy używasz tutaj dobrej metody modelowania. Jeśli przechowujesz wszystkie wiadomości w tablicy, nie masz wyraźnej linii czasu rozmowy na wykresie. Co gorsza, jeśli Użytkownik1 wyśle ​​2 wiadomości do Użytkownika 2 bez odpowiedzi użytkownika 2, nie będziesz już wiedział, kto był nadawcą i odbiorcą.

Dlatego pomyśl o wprowadzeniu węzła reprezentującego rozmowę. Rozmowa dotyczy dwóch użytkowników. Inny związek wskazuje na początek (lub koniec) przepływu komunikatów w ramach tej konwersacji. Same komunikaty są ze sobą powiązane z NEXT i/lub POPRZEDNIMI stosunkami.

+0

Dzięki za odpowiedź Stefan !!! Właściwie zamierzam przechowywać rozmowę w relacji relacji między dwoma węzłami, które są represntowane jako użytkownicy. Chciałbym przechowywać komunikaty wraz z sygnaturami czasowymi w formacie json. Daj mi znać, jeśli to podejście brzmi dobrze !!! Thanx –

+0

Jest to w porządku, jeśli wiadomość nie jest "rzeczą samą w sobie" w kontekście aplikacji. Jeśli np. chcesz, aby później ludzie oceniali lub oznaczali wiadomości, które są ukryte. Jeśli modelowałeś je jawnie jako węzeł, są one odniesione do węzłów reprezentujących znaczniki lub oceny. –

+0

Dziękuję Stefan za sugestie. Cenne dane wejściowe rzeczywiście !!! –

Powiązane problemy