图形数据库中是否存在模式这样的东西?

时间:2011-07-29 18:26:01

标签: database graph schema graph-databases

图表数据库中是否有架构这样的东西?例如,您是否可以指定哪些类型的节点可以与哪些其他类型的节点建立关系?

这样的架构是什么样的?

3 个答案:

答案 0 :(得分:5)

是。模式有用于选择顶点标签,它们是Neo4J 2和Tinkerpop 3的一部分。我认为写下模式有助于阐明应该如何使用图形,尽管大多数数据库不支持对模式的验证。

我有一篇关于如何将架构绘制为图形的更长篇幅。 http://lambdazen.blogspot.com/2014/01/do-property-graphs-have-schemas.html

答案 1 :(得分:4)

图表数据库在这方面有很大不同,就像das_weezul所说的那样。在一般情况下,我认为更接近对象数据库(OODB)的图形数据库也具有内置模式支持。图数据库的一个好处是它们非常适合混合数据和元数据。因此,处理模式支持和安全性的常用方法是将这种元数据存储在同一图形的(有时是隐藏的)部分中。

说到Neo4j - 我在团队中 - 目前至少有两种方法用于定义模式:

您可以在myNoSQL找到关于此主题的更多内容。

答案 2 :(得分:3)

图形数据库将始终具有由(至少)Vertex和Edge对象组成的基本模式,其中Edge可以包含有关特定关系的数据。您可以添加到此架构的程度因实现而异。例如,您可以通过继承Edge和/或Vertex对象来自定义架构。

如果图形数据库使用底层RDBMS或ODBMS,那么您可以访问更强大的模式创建和操作功能。