Neo4j 对嵌套集合排序

Neo4j 对嵌套集合排序,neo4j,cypher,spring-data-neo4j,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 Lis

我们有一个这样的实体

@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;
@NodeEntity(label=“User”)
公共类用户实体{
@格拉希德
私人长中;
@财产(名称=“地址”)
私有字符串地址;
@关系(type=“FRIEND\u WITH”,direction=Relationship.INCOMING)
私人名单朋友;
@关系(type=“OWNS”)
私家车名单;
我们希望检索一个用户列表,该列表包含按属性(creationDate)排序的集合,最高级别为一级

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

MATCH p = (u:User) - [*0..1] - () WHERE <condition> RETURN nodes(p), relationships(p)
MATCH p=(u:User)-[*0..1]()其中返回节点(p)、关系(p)

当路径的长度大于2且可能有循环时,在映射集合中保持结果的顺序变得不明确

如果要对关系集合施加顺序,您有几个选项:

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

您可以按相关节点的属性或关系属性进行排序—为此,您需要一个关系实体。

当路径的长度大于2且可能有周期时,在映射集合中保持结果的顺序变得不明确

如果要对关系集合施加顺序,您有几个选项:

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

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

因此,我必须对结果java端进行排序。我不能按cypher进行排序,对吗?是的,即使您这样做,OGM也会保持顺序。因此,我必须对结果java端进行排序。我不能按cypher进行排序,对吗?是的,OGM会保持顺序即使你点了,我也会点。