问题标签 [neo4j-ogm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3872 浏览

spring - Spring Data Neo4j 4 - 找不到类的身份字段

我正在尝试创建新项目并制作简单的类、Master 和 Pet 类。

这是我的大师班

这是我的宠物课

在 Controller,我正在尝试创建新的 Master 并保存它,然后创建 Pet,Master 是我之前创建的那个。

0 投票
1 回答
108 浏览

neo4j - 带有嵌入式服务器的 Neo4j OGM 库

是否可以将 OGM 库与一台嵌入式服务器一起使用?我在会话中看到的示例始终是通过与 neo4j 服务器的远程 http 连接获得的。我想拥有OGM 库的优雅编程模型,而不需要对数据库进行网络 IO。谢谢你,奥斯卡

0 投票
2 回答
1115 浏览

spring - Spring Data Neo4j 4 - @Fetch 更改为 findAll(int depth) 始终返回 null

我有 3 个类,分别是 User、Role 和 UserRole。我想获取 UserRole 的数据,但总是返回 NULL。

这是用户类。

这是我的角色类

这是我的 UserRole 类

我想显示所有用户数据,但结果总是显示 userRoles NULL。我正在使用 findAll(1) 和 findAll(2) 但没有什么不同。

它与 SDN 3 不同,我们只在字段中添加了@Fetch。在 SDN 4 中,没有 @Fetch 注释。我如何获取所有数据?

更新!!

我更改了 Luanne answer 之类的类,并像这样修改了 User 类:

保存数据并显示后,角色显示如下:

但在那之后,我尝试再次显示所有数据,并再次返回 NULL,如下所示:

这是我的存储库https://github.com/daviduck123/neo4j-ogm-infiniteloop

0 投票
2 回答
4262 浏览

java - Spring Data Neo4j 中的自定义查询不检索关系

因此,对于一些复杂的操作,我在我的图形存储库中的自定义查找器方法上使用 @Query 注释使用自定义 Cypher 查询。然而,当它检索节点时,它不检索其直接关系(即只有 1 级)。

我像这样使用它们 - (代码在 groovy 中):

它们是这样相关的:

当关系确实存在时,邻居 A 和 B 都为空。做什么?我正在使用 Spring boot 1.2.7.RELEASE 和 spring-data-neo4j:4.0.0.RELEASE

0 投票
1 回答
1471 浏览

java - Neo4j ogm 如何为 Cypher 查询返回结果集?

我是 Neo4j OGM 的新手,所以我创建了一个简单的示例来了解 neo4j ogm 的工作原理。我使用电影图。

我的电影课:

而且,我尝试通过一个简单的查询从电影图表中获取数据:

在我看来,这个查询的结果集将是:“Keanu Reeves”,但 Neo4j Ogm 给了我 7 次“Keanu Reeves”:

在此处输入图像描述

所以因为基努出演了7部电影,然后Neo4j ogm回归了7次《基努·里维斯》。我想知道我的观点是否正确?

我可以使用 Cypher 返回带有 Neo4j-ogm 的子图吗?例如:基努和他所有的电影,在 java 中:person.getMovies(); 如果有可能那么我需要做什么?

提前谢谢你,对不起我的英语不好。

0 投票
1 回答
67 浏览

java - Spring-data-neo4j 4.0.0 存储库进行多个 REST 调用而不是对它们进行分组

我将 Spring-data-neo4j 4.0.0 与 Neo4j 2.3.1 一起使用,我想知道为什么当我执行以下操作时:

entityRepository.save(Iterable multipleObjects);

它实际上在 Neo4j 服务器上进行了多次 REST 调用:
- POST 以创建事务(完成一次,好的)
- POST http://host:7474/db/data/transaction/id {"statements":[{"statement": "CREATE..."}]}(每个对象完成一次以保存!
- POST 提交事务(完成一次,好的)

当它可以将所有实体创建分组到一个 REST POST 调用(带有多个语句)时。

我对这个用例有性能问题,我想知道我是否没有正确使用 SDN。

或者也许这是一个计划在不久的将来改进的已知问题?

0 投票
2 回答
491 浏览

java - Neo4j OGM 字段未继承

我遇到了neo4j OGM库的问题,我按照库文档页面上的说明实现了一个抽象父实体,以包含我的实体的所有共享字段和功能。当我用一个具体的类继承这个类并尝试执行session.save时,我收到了这个错误消息MappingException: No identity field found for class: models.nodes.User。然后我尝试将 id 字段从父类下拉到子具体类,并且保存操作成功 - 但是,父类的其他字段没有保存到数据库中。我的结论是 OGM 出于某种原因忽略了父字段。

这是我的父抽象类:

这是我的具体子类:

我试图将父类放在映射包内和外。<<-- 编辑:这实际上是问题所在,父类没有被 OGM 映射

我是否缺少一些必需的注释?我的父类没有正确映射吗?我正在使用 Play Framework 2.4 和来自 Maven 的Neo4j OGM 版本 1.1.4,使用 SBT 构建器。

谢谢。

0 投票
1 回答
1914 浏览

spring - 是否可以使用 GraphRepository 模式动态构建 neo4j 密码查询

上下文:我正在开发一个由 neo4j 数据库支持的 java Spring Boot 系统。我使用“ClassRepo extends GraphRepository”结构访问数据库。在我的精确查询中编写查询是一个简单的硬编码案例,并用提供的参数(在本例中为 courseName)替换它的指定部分。

这对我来说一切正常,让我可以毫无问题地返回一个或多个结果。然而,随着我的项目的发展,我现在提供了大量的搜索选项列表(分面搜索,想想亚马逊产品过滤器)。为选择的或未选择的过滤选项的每一个排列编写一个静态密码查询似乎很愚蠢。

我的解决方案(尝试)是将部分查询作为参数传递,本质上是创建一个字符串查询生成器:

其中“returnCourse”是一个值为“RETURN course”的字符串。我知道在查询字符串中静态输入的“RETURN course”是有效的。我刚刚删除了它并将字符串值作为参数传递,以查看它是否可以生成相同的查询并在运行时运行它。

这没有真正的成功,让我回到错误页面并打印出以下堆栈: http: //pastebin.com/J9VBfpxw

问题:有没有办法将字符串附加/插入到 GraphRepository 使用的密码查询字符串中,以便可以动态更改查询,即在运行时将 where 子句添加到匹配查询的末尾。

0 投票
1 回答
1772 浏览

java - Spring Data Neo4j:回滚异常覆盖的应用程序异常

我有一个很长的事务,当发生异常时,Web 应用程序仍在工作,但是如果我调用一些涉及数据库(REST 远程)的操作,则该操作需要很长时间才能失败。

当它尝试进行回滚时,它无法完成操作,因为服务器没有响应

你能帮助我吗?谢谢

0 投票
1 回答
141 浏览

java - Spring Data Neo4j 和链式服务中的事务

例如,我有一项服务

调用另一个服务的方法

调用 GraphRepository 的方法。

如果 GraphRepository 方法执行过程中没有任何问题,everithigs 运行良好,但如果 GraphRepository 发生异常,则回滚不起作用,并且对远程数据库的所有调用都将被阻止。

如果我删除 b() 上的事务注释,即使 GraphRepository 中发生异常,也可以正常工作。

我无法解释这种行为。

你能帮助我吗?