gpt4 book ai didi

grails - 在Grails中使用旧Neo4j数据库

转载 作者:行者123 更新时间:2023-12-02 14:45:16 25 4
gpt4 key购买 nike

我想将加载到Neo4j中的ENRON GraphML dataset用作我的Grails 2.0应用程序的数据库。数据的用例是只读的。我可以很轻松地在独立应用程序中加载数据集和创建数据库,现在想使用Grails插件来管理对数据库的访问。

查看映射域类上的Neo4J plugin documentation,我发现它需要每种类型的顶点的子引用节点。我的数据没有那个。我可以看到几种前进的方式,并且不确定该追求哪种方式:

  • 转储插件,创建服务,并自行管理读取数据库。优点:我可以轻松实现这一点。缺点:潜在的性能问题,错误。
  • 编写一个程序,该程序创建插件期望的缺少的顶点和边,然后将数据库加载到插件中。优点:插件将管理访问。缺点:可能需要进行几次迭代才能弄清楚需要添加什么才能使其与插件创建的数据库保持一致。
  • 通过插件创建一个空数据库,并通过从另一个数据库中读取数据来执行一系列插入操作。优点:插件将管理访问。缺点:引导数据库可能需要很长时间;需要编写代码来遍历,序列化数据库;等

  • 有什么好方法吗?我在俯视什么?

    最佳答案

    作为Grails Neo4j插件的作者,我也许可以在这里给出合格的答案。当前插件中使用的子引用结构并不总是最好的方法。我有一些计划以可配置的索引方式替换它,但是目前没有ETA。
    由于您可能需要更短期的解决方案,因此对于只读数据库,建议在1)和2)之间进行选择。使用域类的主要优点之一是使用脚手架。由于您是只读的,因此此参数在恕我直言中不算在内。

    1)还有一个不错的优势:如果您使用例如密码查询图,即使使用REST样式数据库,性能也将非常好。通常,如果性能很重要,则应使用cypher而不是执行Grails条件查询/动态查找器。

    2)如果您采用这种方法,我可以提供一些支持。基本上,您需要创建域类,并为每个域类创建一个子引用节点,并将所有实例连接到该实例。这里的优势:您可以使用动态查找器或标准条件查询。使用一个或两个cypher语句可以轻松完成创建子引用节点和与实例节点的连接。

    关于grails - 在Grails中使用旧Neo4j数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13148032/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com