基于本体论的Neo4J动态Spring数据类。

问题描述 投票:0回答:1

我必须创建一个web服务,它需要与Neo4J数据库进行交互,并使用 弹簧框架Spring-Data-Neo4J. 这需要一个静态的数据域模型,比如定义的标签、关系、属性。

问题是,我的数据是基于一个简单的模型。本体论 (通过 新运动学 插件),可以在将来进行修改。如果应用程序能够自动采用它,那就太好了。这样一来,数据模型可以只通过编辑本体来扩展,而且不需要额外的编程知识。

这是否意味着我必须动态生成Spring数据类(基于Ontology),或者是否有更好的方法通过Spring-Data-Neo4J来实现(或者我应该使用其他框架)?

neo4j ontology spring-data-neo4j
1个回答
0
投票

当然,你可以想出一种方法,从本体生成一组类。但这可能会带来更多的问题,而不是解决的问题。

一个自动生成的类集可能并不对应于一个合适的定义。您的用例的数据模型. 适当的数据模型的确定仍然需要人工。

另外,新的类可能与现有的客户端代码不兼容。而且你可能要把现有的DB迁移到新的数据模型上。修复这些也需要人。


0
投票

我最后使用了Java neo4j驱动程序 而不是 Spring-Data-Neo4j和一个只有字段id、标签列表和属性映射的通用节点类实现。在数据库中创建节点之前,可以根据本体检查这些标签和属性集。这样,我只需修改本体就可以强制执行一组特定的节点标签和属性,而无需生成特定的Spring-Data-Neo4j数据类。

© www.soinside.com 2019 - 2024. All rights reserved.