我正在尝试使用图形数据库设计一个收集系统。用户可以创建多个帖子集合。我无法决定两种给定设计中的哪一种可扩展且良好。
所以这是第一个设计,
用户节点(顶点)与集合节点(顶点)有关系(边缘)
HAS_COLLECTION
和第二个设计,
用户节点(顶点)与集合节点(顶点)相关,集合节点(顶点)与集合节点(顶点)与关系(边缘)
HAS_COLLECTION
所以我的问题是,
答案 0 :(得分:3)
1& 2:除非您有特定原因需要CREATED
关系和Collections
节点,否则应省略它们。通常,保持路径缩短会更好,因为您的查询会更简单,更快速,并且需要更少的存储空间。
3:姓名属于个人偏好,但对我而言HAS_POST
会比COLLECTED
更清晰。
答案 1 :(得分:2)
1& 2取决于用例,即如果实际存在集合,则用(2)否则(1)
前 - 如果用户维护一组收藏,那么我更愿意(2)。前 - 如果用户已经开始收集体育,天文学,科学技术,政治,电影的帖子。与(2)设计一起使用是有意义的。 “post”的搜索查询会更快(仅仅说“体育”它将过滤掉所有非体育帖子。