当前位置: 首页 > 知识库问答 >
问题:

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

韦寒
2023-03-14

我必须创建一个需要与Neo4J数据库交互的Web服务,使用Spring框架和Spring-Data-Neo4J。这需要静态数据域模型,例如定义的标签、关系、属性。

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

这是否意味着我必须动态地生成Spring数据类(基于本体论),或者是否有更好的方法使用Spring-data-Neo4J来实现这一点(或者我应该使用不同的框架)?

共有2个答案

邹开畅
2023-03-14

我最终使用了JavaNeo4j驱动程序而不是Spring-Data-Neo4jand,这是一个通用的节点类实现,只有字段id、标签列表和属性映射。在数据库中创建节点之前,可以根据本体检查集合标签和属性。通过这种方式,我可以通过只修改本体而不必生成特定的Spring-Data-Neo4j数据类来强制执行一组特定的节点标签和属性。

常献
2023-03-14

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

自动生成的类集可能不对应于用例的适当数据模型。确定适当的数据模型仍然需要人。

此外,新类可能与现有客户机代码不兼容。您可能需要将现有数据库迁移到新的数据模型。修复所有需要人类的问题。

 类似资料:
  • 我正在使用Spring数据Neo4j 3的DynamicProperties。x、 我在SpringDataNeo4J4.0中缺少这个类。0.M1(SDN4)。SDN4中是否有存储动态属性值的新概念? @NodeEntity上的DynamicProperties属性将其所有属性动态存储在基础节点本身上。 DynamicProperties成员的键/值对存储在节点上,键的前缀为DelegatingF

  • 图像我有以下实体:公司和员工,带有Spring数据neo4j注释: Company.java 受雇者JAVA 然后是这些实体的关系实体: 那么如何保留和中的引用呢? Company.java 或 人JAVA 或

  • 我有一个neo4j数据库,其中存储了一些带有索引“航点”的点,我想在传递一些点后动态获取一些点。为此,我创建了占位符{name1}, 但是使用动态参数调用getWayPointByName时

  • 我有与Spring data neo4j一起工作的Spring服务,我决定将Spring data neo4j从2.2更新到当前版本-3.1.4。释放。所以第一次我更新了neo4j,项目失败了,我更新了Spring版本,不同的版本有不同的例外。这个服务包括在我的前端,我叫它是从网络。所以我不知道什么是最佳配置???配置与maven。这里有pom.xml Spring配置文件 所以每次加载db例外,

  • Neo4j 2.0。0已发布。所以我更新了neo4j版本2.0。0.M6到2.0。0.0发布。并尝试在我的网站中更新模型,但出现异常。 组织。springframework。刀。DataIntegrityViolationException:唯一属性类java。lang.String rankStatId rel:false idx:true被设置为重复值3073631_99 MY SDN版本是2

  • 参考以下pojo: 我的应用程序基本上是一个基于Spring启动的REST API,它公开了两个endpoint,一个用于创建用户,另一个用于检索用户。 “用户”属于某些类别,a组、b组等。我从帖子请求的标题中获得。 我需要在运行时验证用户数据,并且验证可能因用户组而异。 例如,属于a组的用户可能将电话号码作为可选字段,而对于其他组,它可能是必填字段。 正则表达式也可能因组而异。 我需要能够配置s