我正在考虑使用图表DB来存储IFC数据。理想情况下,DB应提供一种方法来定义IFC模式中定义的所有规则类型。但是,我不认为有任何此类数据库,因为IFC中的某些规则类型非常复杂,需要查询数据库。其他很简单,例如GUID的唯一性,强制属性的存在,或data validation。 Neo4j似乎有一些约束强制方法:
Neo4j通过使用约束来帮助实施数据完整性。约束可以应用于节点或关系。可以创建唯一的节点属性约束,以及节点和关系属性存在约束。
是否有其他方法可以确保输入的数据符合预定义的架构?
还有其他图表DB更适合这项工作吗?
答案 0 :(得分:3)
您可以通过创建事务事件处理程序来实现您想要的所有内容。
您还可以查看GraphAware Framework和所有its submodules的用例以及创建和部署neo4j扩展程序的简便性。
答案 1 :(得分:1)
取决于您是否需要数据库本身强制执行的架构,或者您是否可以在应用程序层完成该架构。
我刚刚获得Restagraph到“工作原型”级别,我的下一个技巧是Dockerising它。 它是一种排序框架,使您能够通过在Neo4J中使用特定标签创建节点和关系来定义模式,并动态创建REST API来强制执行模式。
它也是用Common Lisp编写的,所以如果你等待Docker镜像,我会理解的。)