按关系排序属性neo4j
使用Neo4j 1.9.3- 我想创建一个音乐节目列表。在一个给定的程序上,可能会执行三个部分。每个片段都有一个与之关联的作曲家,可能出现在许多不同的程序中,因此我无法在片段节点上放置序列号 我假设我可以创建程序,与每个片段的关系如下:按关系排序属性neo4j,neo4j,sql-order-by,Neo4j,Sql Order By,使用Neo4j 1.9.3- 我想创建一个音乐节目列表。在一个给定的程序上,可能会执行三个部分。每个片段都有一个与之关联的作曲家,可能出现在许多不同的程序中,因此我无法在片段节点上放置序列号 我假设我可以创建程序,与每个片段的关系如下: (program1)-[:PROGRAM_PIECE {program_seq: 1}]->(piece1) (program1)-[:PROGRAM_PIECE {program_seq: 2}]->(piece2) (program1)-[:PR
(program1)-[:PROGRAM_PIECE {program_seq: 1}]->(piece1)
(program1)-[:PROGRAM_PIECE {program_seq: 2}]->(piece2)
(program1)-[:PROGRAM_PIECE {program_seq: 3}]->(piece3)
我的问题是,我如何查询图形,以便按照关系属性
program_seq
的顺序排列这些片段?我可以在节点属性中使用ORDER BY,但在关系(我的生活故事…)方面没有成功最近我做了同样的事情来跟踪特定游戏中的棋步。这与节点属性是一样的
start program = node(*) // or better yet, use a real index query to find the program
match (program)-[program_piece:PROGRAM_PIECE]->(piece)
return program, piece
order by program_piece.program_seq
如果您喜欢,请将其锁定:即,将其绑定到变量。然后,您可以使用与节点属性相同的方法来使用排序方式。如果您已将程序检索为
(program1)
,则可以执行以下操作
MATCH (program1)-[r:PROGRAM_PIECE]->(piece1)
RETURN program1, r, piece1
ORDER BY r.program_seq