【问题标题】:Using Neo4j in Grails without the Grails neo4j-plugin and GORM在没有 Grails neo4j-plugin 和 GORM 的情况下在 Grails 中使用 Neo4j
【发布时间】:2014-05-11 07:24:10
【问题描述】:

是否可以使用 Grails 来提供控制器和视图、Neo4j 作为数据库和(自写)域类来包装数据库访问和 CRUD 操作而无需 Neo4j 插件?

我拥有的数据(~10^6 个节点,10^7 个关系)非常适合由图形数据库建模。节点和关系都需要具有标签和属性,以便可以通过仅通过图中的某些路径的遍历方法访问它们。我想将 grails 用于 Web 界面,因为我几周前刚开始学习编程,这似乎是一个很好的起点。

据我了解,直到知道使用 Grails Neo4j 插件,无法设置与属性和标签的关系。使用普通的 Neo4j-Java-API 编写与数据相关的类似乎非常有吸引力且容易。

此外,如果我的数据库的结构已经与对象直接相关,那么使用 ORM(或在这种情况下为对象图映射)有什么好处?

【问题讨论】:

  • 我认为对于具有大量连接的如此大容量数据库,使用 OGM 会走错方向,除非您只是将几百或几千个查询结果投影到对象中。跨度>
  • 感谢迈克尔!我刚刚开始学习,能够与专家联系让学习变得轻松愉快

标签: grails neo4j grails-orm graph-databases spring-data-neo4j


【解决方案1】:

除非您需要 Grails 脚手架并且您不依赖于 Grails 中的域类,否则您可以不使用 GORM 插件并自己完成繁琐的工作。 将 neo4j jar 依赖项添加到您的 BuildConfig.groovy 并将 GraphDatabaseService 和可选的 ExecutionEngine 公开到您的应用程序上下文中,请参阅 http://grails.org/doc/latest/guide/spring.html#springdslAdditional

在不久的将来会有 2.0 版本的 Neo4j GORM 插件,它使用标签并且完全依赖于 Cypher。此版本发布后,关系属性在列表中排名靠前。

【讨论】:

  • (自 2014 年 5 月开始发布 2.0)
  • 2.0 目前是里程碑 1,所以到目前为止还不是生产就绪的东西。
  • @stefan-armbruster,“使用标签的 Neo4j GORM 插件”的可用性是否会显着改变建议?也就是说,如果我不使用脚手架,我最好不要使用 GORM 插件?
猜你喜欢
  • 2012-02-21
  • 1970-01-01
  • 1970-01-01
  • 2011-10-20
  • 2011-03-06
  • 2013-11-13
  • 1970-01-01
  • 1970-01-01
  • 2011-01-18
相关资源
最近更新 更多