2013-09-24 7 views
5

Neo4jはかなり新しく、次の問題があります。 私はソーシャルネットワーキングサイトを開発しようとしています。そこでは、2人のユーザーの間で交換されたメッセージを関係プロパティに保存したいと考えています。 これは、すべてのメッセージを配列/リストの形式で関係プロパティに格納しようとしています。 Neo4jがこのようなタイプの操作を提供しているかどうかをお聞かせください。neo4jプロパティの配列/リストとしてのデータの保存

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

また、私はちょうど(つまりは、次のインデックスに新しいメッセージが追加されます)このリレーションシップ・プロパティと配列/リストの更新に私のメッセージを挿入することができれば元のために

知っていただきたいと思います

何かこのように..... ありがとう

答えて

5

Neo4jは配列プロパティをサポートしています。http://neo4j.com/docs/rest-docs/current/#rest-api-property-valuesを参照してください。

ただし、良いモデリング手法を使用しているかどうかはわかりません。すべてのメッセージを配列に格納すると、グラフに明示的に会話のタイムラインが表示されません。さらに悪いことに、User1がUser2に2つのメッセージを送信し、User2の応答がない場合、送信者と受信者は誰であるか分かりません。

したがって、会話を表すノードを導入すると思います。会話は2人のユーザーに関連しています。もう1つの関係は、この会話内のメッセージフローの開始(または終了)を指しています。メッセージ自体は、互いにNEXTおよび/またはPREVIOUSの関係でリンクされています。

+0

返信ありがとうStefan !!!私は実際には、ユーザーとしてrepresntedされている2つのノード間の関係のプロパティで会話を格納することを計画しています。私は、json形式でタイムスタンプとともにメッセージを格納しています。このアプローチが良いと思えるかどうか教えてください!!! Thanx –

+0

あなたのアプリケーションの文脈でメッセージが「それ自身のもの」でない場合は、大丈夫です。例:後で人に隠されているメッセージの評価やタグ付けをしたいノードとして明示的にモデル化した場合は、タグまたは評価を表すノードから参照可能です。 –

+0

Stefanに感謝してください。価値のある入力は確かに!!! –

関連する問題