符合neo4j中的架构

时间:2016-12-31 22:23:42

标签: neo4j graph-databases step ifc

我正在考虑使用图表DB来存储IFC数据。理想情况下,DB应提供一种方法来定义IFC模式中定义的所有规则类型。但是,我不认为有任何此类数据库,因为IFC中的某些规则类型非常复杂,需要查询数据库。其他很简单,例如GUID的唯一性,强制属性的存在,或data validation。 Neo4j似乎有一些约束强制方法:

  

Neo4j通过使用约束来帮助实施数据完整性。约束可以应用于节点或关系。可以创建唯一的节点属性约束,以及节点和关系属性存在约束。

是否有其他方法可以确保输入的数据符合预定义的架构?

还有其他图表DB更适合这项工作吗?

2 个答案:

答案 0 :(得分:3)

您可以通过创建事务事件处理程序来实现您想要的所有内容。

http://neo4j.com/docs/java-reference/current/javadocs/org/neo4j/graphdb/event/TransactionEventHandler.html

您还可以查看GraphAware Framework和所有its submodules的用例以及创建和部署neo4j扩展程序的简便性。

答案 1 :(得分:1)

取决于您是否需要数据库本身强制执行的架构,或者您是否可以在应用程序层完成该架构。

我刚刚获得Restagraph到“工作原型”级别,我的下一个技巧是Dockerising它。 它是一种排序框架,使您能够通过在Neo4J中使用特定标签创建节点和关系来定义模式,并动态创建REST API来强制执行模式。

它也是用Common Lisp编写的,所以如果你等待Docker镜像,我会理解的。)