我应该如何表示两个节点之间关系的副本(具有不同的属性值)?

时间:2018-09-06 01:24:09

标签: neo4j cypher

我们的方案涉及一个包含用户和视频的图形数据库。用户可以对视频执行各种无处不在的动作,例如加载,暂停,播放等。每个动作都有一个表示为long的关联时间戳。所以基本上是这样的:

(u:User {Name: "user 1")-[:PLAYS {ts: 1}]->(v:Video {Name: "video 1"})
(u:User {Name: "user 1"})-[:PAUSE {ts: 2}]->(v:Video {Name: "video 1"})
(u:User {Name: "user 1")-[:PLAYS {ts: 3}]->(v:Video {Name: "video 1"})

(时间戳显然是一个大得多的数字,但出于演示目的,它表示为序列号)

在我们的场景中发生的是,在许多用例中,我们生成了很多这些关系的副本。有没有一种方法可以通过将时间戳压缩为列表或数组来折叠关系?在上面的示例中,也许我们可以将PLAYS与ts [1,3]作为列表或数组属性折叠为一种关系?对于这种情况,这甚至是首选方法吗?

0 个答案:

没有答案