在Neo4j节点属性上检索Array / List的子集

时间:2013-09-29 08:09:53

标签: neo4j cypher graph-databases

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

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

[“嗨”,“嘿”,“姓名”,“尼克”,“年龄”,“23”]

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

[“嘿”,“姓名”,“尼克”,“年龄”]

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

2 个答案:

答案 0 :(得分:2)

在2.0.0-M05版本中,您可以返回集合的范围。假设您有一个用户'a'和一个用户'b',它们通过关系[:FRIEND]连接,其中包含[“Hi”,“Hey”,“Name”,“Nick”,“Nick”的属性“messages”。年龄“,”23“],您希望索引为1到4的消息,

Match a:User-[r:FRIEND]->b:user
Where a.name = 'a' and b.name = 'b'
Return r.message[1,5]

答案 1 :(得分: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]