问题标签 [spring-data-neo4j-4]

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 回答
255 浏览

neo4j - SDN4:如何定义从查找器方法名称派生的查询的深度?

我已经定义了一个存储库,如下所示:

在存储库上调用 findByName 可以使其确实返回具有匹配名称属性的服务项列表。但是,服务实体包含嵌套实体,我需要能够覆盖此查询的默认深度 1。

有没有像 .findAll(int) 方法一样定义这个查询的深度?

0 投票
1 回答
350 浏览

neo4j - Neo4j:Spring Data Neo4j 中的本机 Java API(或等效密码查询)

在过去的几天里,我正在尝试使用 Neo4j 嵌入式数据库进行演示,并且对用于索引、Lucene 查询甚至设法进行模糊搜索的 Native Java API 印象深刻。然后我决定使用 Spring Data Neo4j 4.0 将此 POC 投入生产,但遇到了 Cypher 查询和模糊搜索的问题。

我的域类“团队”如下所示:

我正在按如下方式填充我的数据库:

我的 TeamRepository 界面如下所示:

我的查询看起来像:

List<Team> teams = teamRepository.findByTeamName("The Los Angeles Will be Playing in a state of Golden");

上面的 CYPHER 查询不返回任何内容。

我希望能够在 Spring 中执行如下所示的 Native Java API 类型查询并获得以下结果。(teamIndex 是我在团队名称上创建的全文搜索索引)

IndexHits<Node> found = teamIndex.query("Team-Names",queryString+"~0.5");.

发现原生 JAVA API:

  • 洛杉矶湖人队
  • 阿纳海姆洛杉矶快船队
  • 金州勇士队
  • 洛杉矶阿纳海姆拍板
  • 阿纳海姆的洛杉矶拖鞋
0 投票
2 回答
143 浏览

neo4j - SDN4:最近的快照构建损坏

刚开始在启动服务器时出现以下异常:

哪些更改可能导致此异常?

谢谢。

0 投票
1 回答
464 浏览

java - Neo4JTemplate Create And Get Id in One Query - Spring Data Neo4j 4.0.0.M1

I used in Spring Data Neo4j 3.1.2 this query to create a person and get the id of it:

with my Neo4JTemplate i execute this query with:

Now i want to use Spring Data Neo4J 4.0.0.M1, because of it's server-support.

In SDN 4 queries can executed with the Neo4jTemplate by

or

My Question now is: how can i use the neo4jTemplate to use only ONE query that create my node and get me the id of it?

P.S.: The creation and return of the id works, but i want only one query to manage this problem.

0 投票
1 回答
569 浏览

neo4j - SDN4 - 更新关系实体的孩子会导致关系被删除

我正在编写一些支持 GraphUnit 的集成测试,并且在尝试更新现有关系指向的子节点时注意到了奇怪的行为。

给定与支持图的现有关系,如下所示:

如果我尝试通过编写如下代码来更新它:

结果图如下所示:

但我希望它看起来像:

我在执行 GraphRepository 时看到的原始日志输出save()在 Cypher 查询中包含删除关系的 DELETE 语句:

这是一个错误吗?还是我没有正确更新 SDN4 关系实体?每次我们有效地想要进行更新时,我们是否必须删除关系并从头开始创建它们?

0 投票
1 回答
125 浏览

java - 将 SDN-4 添加到 GF-3:加载应用程序时出现异常:IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException

为了使用 neo4j-graphdatabase 独立服务器,我将 SDN 3.1.2 的依赖项添加到我的 pom.xml 中。

由于 Neo4jCdiRepositoryExtension,我可以在没有完整 Spring 框架(通过 CDI)的情况下使用 spring-data-neo4j。

现在我想将我的 SDN 版本更新为 4.0.0.M1。

我必须创建自己的 Neo4jCdiRepositoryExtension,这看起来很简单。部署过程构建我的新扩展。要使用我的扩展,我需要提供所有需要配置的此类:

如果我想部署它,我的 glassfish 3 服务器会给我这个错误消息:

我现在的问题是:我该如何解决这个错误?

0 投票
1 回答
674 浏览

neo4j - SDN4 - 使用接口作为关系实体的结尾时抛出 MappingException

此功能曾一度有效,但似乎在最新的 SDN4 快照 (7-16-15) 中出现故障

我有两个节点类,一个代表中间非叶节点,一个代表一阶叶顶点节点。这两个类实现了一个公共接口。

前者可以与其他中间节点或叶节点相关,我通过将SimpleNode类映射到NodeINTERFACE 来模拟这种关系:

当我尝试启动我的 Spring Boot 应用程序时,我收到一个 SDN 映射异常:

同样,这是在 7-16-15 快照之前工作的,所以我的问题是 - 这是不支持的功能吗?这是一个错误吗?

一个人为的例子存在于: https ://github.com/simon-lam/sdn-4-demo

通过做可复制./gradlew clean test --debug

0 投票
1 回答
207 浏览

neo4j - GraphUnit - 事务集成测试和回滚

我目前正在使用 GraphUnit、Spock 和进程中的 Neo4j 服务器对我的 Spring Data Neo4j 4.0 支持的应用程序进行集成测试。

在我的测试操作之后对图形数据库的状态进行断言时,它是一个非常漂亮的工具,但我注意到,为了 GraphUnitassertGraph并向printGraph我展示我的期望,我的 Neo4j 事务必须首先提交。从逻辑上讲,这对我来说是有意义的,但这也意味着我无法标记我的集成测试@Transactional,并且在一次测试中对进程中数据库所做的任何数据更改都会影响到后续测试。

我通过在 Spock 夹具方法中的每个测试方法之后清除数据库来处理这个问题,这工作正常,但我非常希望能够:

  • 设置测试 Neo4j 数据集 ONCE
  • 每次测试后让测试方法更改回滚
  • 仍然能够以某种方式使用 GraphUnit 的断言和打印实用程序

我的问题是 - 有没有办法完成这三个?如果我想使用 GraphUnit,事务提交是否是基本要求/假设?

0 投票
1 回答
287 浏览

neo4j - SDN4 - GraphRepository findOne 与 findById

我正在使用 Spring Data Neo4j 4.0.0.RC1 并注意到GraphRepository'sfindOne方法的一些有趣行为。

给定两个GraphRepository扩展:

然后给一个完全空白的石板,假设我创建了一个单曲SimpleNode,它被分配了一个 ID 为 1L。当我打电话时otherNodeRepository.findOne(1L),我得到一个ClassCastException而不是空值。这向我表明,该findOne方法正在获得SimpleNode支持,并且不尊重 SDN 节点类型。

这是预期的行为吗?我认为这可以通过findById在各自的存储库接口中创建一个方法来解决,但它似乎违背直觉,并且似乎与 JPA 存储库如何处理它的方式不一致。

0 投票
1 回答
132 浏览

java - Spring Data Neo4J 4 - GraphRepository 中的 Order By 不起作用

为了使用 neo4j-graphdatabase 独立服务器,我将 Spring Data Neo4j 4.0.0.M1 的依赖项添加到我的 pom.xml 中。

顺便提一句。我编写了自己的 CDI 扩展并在 JavaEE 6 下使用它。(它已经过测试并且可以工作。)

我在我的应用程序中管理人员。因此,如果我想在 updatedTime 之前获得所有人的订单,我会使用这个简单的查询PersonRepository (GraphRepository<Person>)

对于我的测试,我用 3 个语句创建了 3 个人:

1.

2.

3.

要让我使用的 updatedTime DESC 订购的所有人:

不要得到

调试它我用 sudo ngrep -t -d any port 7474

...并且来自我的 neo4j-server 的提交很好:

所以现在我的问题是:

1. 我怎样才能得到我 3 人的正确顺序?

2.这个问题取决于转换为Iterable<Person>或对象图映射?

3.这个问题取决于我的neo4j-session的缓存吗?