0

我对 Neo4j 相当陌生,手头有以下问题。我正在尝试开发一个社交网站,我想在其中将两个用户之间交换的消息存储在他们的关系属性上。为此,我试图将他们所有的消息以数组/列表的形式存储在关系属性上。

现在我想从这个数组中每个查询只检索 4 条消息。例如。如果消息列表是这样的:

[“嗨”、“嘿”、“名字”、“尼克”、“年龄”、“23”]

然后,我希望能够根据我调用的索引获取该数组的子集。例如:如何在查询中检索索引 1 到 4 的元素。

[“嘿”、“名字”、“尼克”、“年龄”]

属性上的数组是否支持此类操作。

4

2 回答 2

2

在 2.0.0-M05 版本中,可以返回集合的范围。假设您有一个用户 'a' 和一个用户 'b',他们通过关系 [:FRIEND] 与 ["Hi", "Hey", "Name", "Nick", "年龄”,“23”],并且您想要索引为 1 到 4 的消息,

Match a:User-[r:FRIEND]->b:user
Where a.name = 'a' and b.name = 'b'
Return r.message[1,5]
于 2013-09-29T14:28:38.777 回答
1

在 neo4j 版本(2.0.0 -M6)中,使用 '..' 作为逗号不起作用。

Match a:User-[r:FRIEND]->b:user
Where a.name = 'a' and b.name = 'b'
Return r.message[1..5]
于 2013-10-22T13:36:23.733 回答