Neo4j是否支持基于域模型的约束?

时间:2014-02-01 13:20:15

标签: neo4j

简短的问题

Neo4j是否支持基于域模型的约束?

解释

在基础教程中,它说“请随时保留这些图片。它详细介绍了本教程的域模型。” (https://stack.versal.com/api2/assets/fdc05cea-e18b-44ea-8ba9-e119d7a8f872)。

但有没有办法检查存储在图表中的数据是否与此域模型相关?

对于关系数据库,我们有“创建”指令来构建域模型和“插入”指令以存储符合此域模型的数据。

对于Neo4j中的图形数据库,我只找到了“创建”指令,我们可以指定一个类型(这将是域模型的一部分)。

我需要做什么

我需要创建一个域模型来防止创建与域模型不兼容的节点,例如:

  • 节点类型必须位于域模型
  • 一种关联只能链接具有特定类型的节点

实施例

电影域模型来自教程(https://stack.versal.com/api2/assets/fdc05cea-e18b-44ea-8ba9-e119d7a8f872):

  • 节点只能是Person或Movie
  • 类型
  • 电影不能有传出边
  • DIRECTED或ACTED_IN关系无法链接两个人
  • ...

Neo4j有可能吗? 或者我是否必须在模型上创建检查器?

1 个答案:

答案 0 :(得分:1)

您必须创建模型的检查器或API,以确保只添加与模型匹配的节点。

您描述的某些内容将在未来添加到Neo4j中,但尚未确定。

但是我今天看到了http://structr.org应用程序框架的演示文稿,它允许您使用类型,属性和基数关系对模式进行建模。