订购嵌套集合

时间:2017-06-12 07:49:04

标签: neo4j cypher spring-data-neo4j

我们有这样的实体

@NodeEntity(label = "User")
public class UserEntity {
    @GraphId
    private Long mId;

    @Property(name = "address")
    private String address;

    @Relationship(type="FRIEND_WITH", direction = Relationship.INCOMING)
    private List<UserEntity> friends;

    @Relationship(type="OWNS")
    private List<CarEntity> cars;

我们希望通过属性(creationDate)订购的集合检索用户水合最多一级的列表。

我们从这开始,但我们不知道如何订购收藏品

MATCH p = (u:User) - [*0..1] - () WHERE <condition> RETURN nodes(p), relationships(p)

1 个答案:

答案 0 :(得分:2)

当您的路径长度为&gt;时,保持映射集合中结果的顺序会变得模糊不清2,可以有周期。

如果您想对关系集合强加订单,您有以下几种选择:

  • 使用-SortedSet-并在您的实体中实施Comparable
  • 在setter方法中排序关系

您可以按相关节点的属性或关系属性进行排序 - 因为您需要关系实体。