neo4j - 基于本体的 Neo4J 动态 Spring 数据类
问题描述
我必须使用带有Spring-Data-Neo4J的Spring 框架创建一个需要与 Neo4J 数据库交互的 Web 服务。这需要一个静态数据域模型,例如定义的标签、关系、属性。
问题是,我的数据基于一个本体(通过新语义插件),将来可能会被修改。如果应用程序可以自动采用它,那就太好了。这样,可以仅通过编辑本体来扩展数据模型,而无需额外的编程知识。
这是否意味着我必须动态生成 Spring 数据类(基于 Ontology)或者是否有更好的方法来使用 Spring-Data-Neo4J 实现这一点(或者我应该使用不同的框架)?
解决方案
当然,您可以想出一种从本体生成一组类的方法。但这可能会带来比它解决的问题更多的问题。
一组自动生成的类可能与您的用例的适当数据模型不对应。确定合适的数据模型仍然需要人工。
此外,新类可能与现有客户端代码不兼容。而且您可能必须将现有数据库迁移到新的数据模型。修复所有需要人类的东西。