8

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

以这种方式......谢谢

4

1 回答 1

5

Neo4j 支持数组属性,请参阅http://neo4j.com/docs/rest-docs/current/#rest-api-property-values

但是我不确定您是否在这里使用了良好的建模方法。如果您将所有消息存储在一个数组中,则图表中没有明确的对话时间线。更糟糕的是,如果用户 1 向用户 2 发送 2 条消息,而用户 2 之间没有响应,您将不再知道谁是发送者和接收者。

因此考虑引入一个代表对话的节点。该对话与两个用户有关。另一个关系指向此对话中消息流的开始(或结束)。消息本身与彼此之间的 NEXT 和/或 PREVIOUS 关系相关联。

于 2013-09-24T20:10:51.670 回答