[英]Neo4j/Cypher Query (user action) relationship direction
我是Cypher的新手,正在尝试设计图形数据库并存储用户行为。 提前致谢!
案例示例:1.一个用户访问了一个网页2.一个用户拥有一个设备(id:xxxxx)
在UML类图中,箭头(关系)指向父类
但是,我的观点是,并非Cypher中的所有关系都是亲子类型,这是否意味着我不应该将这种概念应用到Cypher中?
那么,问题是“如何设计关系的方向”?
(user)-[r:visited]->(webpage {url:xxx})
(user)-[r:owned]->(mobileDevice {uuid:xxx})
- 要么 -
(user)<-[r:visitedBy]-(webpage {url:xxx})
(user)<-[r:owned]-(mobileDevice {uuid:xxx})
再次感谢你
这是一个常见的问题。 答案是由您决定! 关系类型可以是您选择的任何类型,并且应该选择最舒适的类型。 我建议无论您做什么,都应保持一致。
就“访问”和“访问者”个人而言,我会选择“访问”,因为我认为谈论用户访问页面而不是用户访问页面这一事实更有意义。 我经常建议人们命名他们的关系,以便node-relationship-node造句。 由于用户是主要演员,因此您的句子应为“用户访问过的网页”。 不过,这可能源于我是说英语的母语人士以及英语句子的形成方式。
附带说明一下,Neo4j中的关系通常为UPPER_SNAKE_CASE
。 同样,Neo4j不会限制您使用任何一种特定样式,但这是我最常看到的。 本指南很好地概述了常见的Cypher约定:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.