我是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"]
以这种方式...... 感谢
答案 0 :(得分:4)
Neo4j支持数组属性,请参阅http://neo4j.com/docs/rest-docs/current/#rest-api-property-values。
但是我不确定你是否在这里使用了一个好的建模方法。如果将所有消息存储在数组中,则图表中没有明确的会话时间轴。更糟糕的是,如果User1向User2发送2条消息而没有User2之间的响应,那么您将不再知道谁是发送方和接收方。
因此,请考虑引入代表对话的节点。该对话与两个用户有关。另一种关系指向此对话中消息流的开始(或结束)。消息本身与NEXT和/或PREVIOUS相互关联。