首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将示例关系数据模型转换为图数据模型

将示例关系数据模型转换为图数据模型
EN

Stack Overflow用户
提问于 2018-03-27 12:18:34
回答 1查看 1.8K关注 0票数 1

我设计了一个关系数据模型,它是一个图形数据模型。我想知道我是否以一种正确的方式做了它,我的图形数据模型是否正确。如果我的模型有什么问题或模棱两可,请留下评论。

正如您在图形数据模型中所看到的,有4个标签:

  1. 公司
  2. 用户
  3. 技能
  4. 项目

您可以看到,每个具有它的标签的节点都有它的属性,连接表被转换成节点之间的关系。我想知道我应该如何处理“主键”,如userIDSkillID

关系数据模型:

图形数据模型:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-03-27 16:19:52

关于主键问题:

实际上,Neo4j节点和关系有一个内部唯一的ID,可以使用id()函数访问该ID:

代码语言:javascript
复制
match (d)-[r]-()
return id(d) as nodeId, id(r) as relId

但是,应用程序不应该依赖这些is,因为当节点或关系被删除时,它们被Neo4j重用。Neo4j文档说:

当节点和关系被删除时,Neo4j重用其内部ids。这意味着使用和依赖内部Neo4j ids的应用程序很脆弱,或者有出错的风险。因此,建议使用应用程序生成的ids。

更多的这里

所以,如果你真的想要一个主键,我想你有两个主要的选择:

  1. 在应用程序级别管理主键。也就是说:在访问Neo4j数据库的应用程序代码中创建和分配唯一is。
  2. 使用GraphAware UUID插件。UUID是一个简单的库,它透明地为图中新创建的节点和关系分配UUID,并确保没有人可以(意外或故意)更改或删除它们。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49512663

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档