问题标签 [spring-data-neo4j]

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

spring - SpringData Neo4J - 存储库不会改变@GraphId?

我升级到 Spring 3.1.2、Neo4J 1.8.RC1 和 SpringData 2.1.0.RC3 并遇到以下问题。

在解释问题之前,这是我的应用程序上下文的一部分:

我运行了一个非常基本的测试:

并且测试因 NPE 而失败。为什么保存操作后吉祥物ID仍然为空?

MascotRepository 定义如下:

Mascot 本身是一个非常基本的 NodeEntity:

我不知道这是否与问题有关,但我的 NodeEntity 之一是部分的,因此被 AspectJ 修改(以添加基本的 ActiveRecord 方法)。您能否确认仅以这种方式修改了部分 NodeEntities 而不是纯 Neo4J 实体?如果不是,它会导致与存储库发生冲突吗?

如果您有任何想法,请提前致谢!罗尔夫

0 投票
1 回答
2483 浏览

neo4j - Neo4j Web Admin 如何显示关系属性?

我已经生成了一个 Neo4j 图表,并使用“数据浏览器”上的“样式”规则创建了图表的可视化。我能够显示节点的属性。看起来样式规则只能应用于节点。但是我想显示(在数据浏览器上可视化)关系的属性。这可能吗?如果是这样,我该怎么做?

我通读了 Neo4j 文档并在 Neo4j 论坛中进行了搜索,但没有运气。

我很感激任何帮助。

TIA

例如:

在人口统计的情况下,创建的是关系“是”的属性。

0 投票
1 回答
1002 浏览

spring - spring-data 与 neo4j + mongo 版本冲突

在我的 spring 应用程序中,我正在通过spring-data项目使用Neo4j DB 。我想将mongo db 作为另一个数据存储添加到我的应用程序中。 尝试同时使用这两个数据存储时似乎存在一些冲突。

我的 pom - 只有相关的依赖项:


尝试加载 spring 应用程序上下文时出现以下异常:


我猜有版本冲突,所以我尝试更改一些版本,但没有任何运气,任何人都可以帮助设置这个..

谢谢

0 投票
1 回答
3963 浏览

java - 如何让 Spring Data Neo4j 和 Spring Data JPA 协同工作?

我有一个应用程序使用 MySQL 和通过 REST Neo4j 服务器版本执行一些批处理作业。

我不知道如何让它们正确地协同工作:我可以让它们同时工作,但不能同时工作。我发现的帖子并不特定于 Neo4j 的服务器版本,也许这就是问题所在,因为其他一切对我来说似乎都很好。

我的配置:

JpaConfig

Neo4j.xml

使用此配置 Mysql 可以完美运行,但 Neo4j 不会将任何属性保存到它创建的节点。

如果我删除属性entityManagerFactory="entityManagerFactory"Neo4j 有效,但我无法写入 MySQL。

我的服务方法用@Transactionalor注释@Neo4jTransactional,而不是同时注释。

在我发现org.springframework.data.neo4j.rest.SpringRestGraphDatabase的bean类中:graphDatabaseService

也许这是一项正在进行的工作?或者,也许我错过了什么……

我正在使用 Spring 3.1.2,Hibernate 4.1.4。这是我的 pom.xml 的一部分。

0 投票
1 回答
639 浏览

neo4j - Transaction performance and how to lighten transaction manager?

I'm working about a identity, access and role management with SDN 2.1.0-RC4 without AspectJ. This system aims to manage around 120 000 users and data is extracted from legacy and HR applications. I have from 500 to 30000 updates/day, so performance can be a touchy subject I ran some workbenches with default configuration.

I used a very simple and stupid way. A simple class

and I insert data one by one

I test several by overloading theses methods

1) use of @Transactional

2) Use of neo4j transaction

I know benchmark are a trolling subject and it's not what I want. So take theses values as they are: a stupid test

Results

JtaTransactionManager

Mean 47,20 ms, Min 21,00 ms, Max 425,00 ms

GraphDatabaseService

Mean 0,90 ms, Min 0,00 ms, Max 3,00 ms

JtaTransactionManager is very slow compared to native neo4j server, but JtaTransactionManager is a global and ambitious TransactionManager.

My purpose is how to lighten or create a custom transactionManager with less ambition, a smaller scope but still using the @Transactional annotation ?

May be I've missed something ?

Thanks you for any potential help or advice.

PS: my configuration

Marc DeXeT

0 投票
3 回答
305 浏览

spring - Neo4J - 简单的密码查询

假设有两个节点实体:

在我的存储库中,我有一个查询应该按给定角色获取所有帐户:

但是此查询不起作用,当我在测试用例中使用此方法时,出现以下错误:

org.springframework.dao.InvalidDataAccessResourceUsageException: 执行语句出错 START account=node:Account(0) MATCH account-[:HAS_ROLE]->({0}) return account; 嵌套异常是 org.springframework.dao.InvalidDataAccessResourceUsageException: Error execution statement START account=node:Account(0) MATCH account-[:HAS_ROLE]->({0}) return account; 嵌套异常是预期的字符串

看来,我的查询有问题,但我不知道是什么,也无法弄清楚......有人可以提供帮助吗?

0 投票
2 回答
2168 浏览

spring - Spring Data Neo4J @Indexed(unique = true) 不工作

我是 Neo4J 的新手,我有,可能是一个简单的问题。

我的应用程序中有 NodeEntity,属性(名称)用 @Indexed(unique = true) 注释以实现唯一性,就像我在 JPA 中使用 @Column(unique = true) 所做的那样。

我的问题是,当我坚持一个名称已经存在于我的图表中的实体时,它无论如何都可以正常工作。但我预计这里会出现某种异常......?!这是我的基本代码的概述:

这是我的测试:

这就是我预计会出错的地方!如何在不自己检查的情况下确保属性的唯一性?

PS:我正在使用 neo4j 1.8.M07、spring-data-neo4j 2.1.0.BUILD-SNAPSHOT 和 Spring 3.1.2.RELEASE。

0 投票
1 回答
174 浏览

thread-safety - SDN中的线程安全域模型getOrCreate?

使用 SDN 2.1.0.BUILD-SNAPSHOT

是否有执行 getOrCreate 的域级线程安全方式?

我有

我想要的是能够访问neo4j REST数据库,并添加一个新的ResourceEntity,或者已经在那里检索一个,如果已经有一个具有指定url字段的...

我找不到的是一种以原子方式执行此操作的方法。它需要以原子方式工作,因为将有多个线程调用此代码。

如果我尝试插入具有重复键的 ResourceEntity,则抛出(应该如此) org.springframework.dao.DataIntegrityViolationException,但在域级别的 Neo4jTemplate 上公开的是 getOrCreate,这正是我想要的。我如何在SDN中实现这一点而不必做一些不整洁的事情

...然后从存储库或类似的东西中拉回新的 ResourceEntity ......讨厌!(我没有测试过,但我认为这会起作用) - 但它非常难看!

0 投票
1 回答
783 浏览

spring - 使用来自 Spring Data for Neo4j 的 GraphRepository 返回 Null

最近我一直在玩 Spring Data for Neo4j ( version 2.1.0.BUILD-SNAPSHOT),我遇到了一个与它的 GraphRepository 接口相关的问题。

您可以编写一个方法,使用方法名称中包含的属性搜索 T 类的节点,如下所示:

我的用户类:

还有我的applicationContext.xml:

我的问题是该findById(Long id)方法确实返回具有该特定 id 的节点,但findByUsername(String username)确实返回null而不是具有该特定用户名的节点。

任何帮助将不胜感激。

0 投票
2 回答
3431 浏览

neo4j - 在 Neo4J 数据库中查找叶节点

我们有一个使用 Spring Data Neo4J 的项目。重要实体之一如下所示:

我们需要从名称已知的特定类别开始找出所有叶类别(即没有任何子类别的类别)。例如,给定如下所示的层次结构:

搜索“家具”应返回“办公桌”、“家用桌”、“休闲椅”和“办公椅”。同样,搜索“计算”应返回“台式机”、“笔记本电脑”、“平板电脑”和“上网本”。

在创建可以放置在 Spring Data 存储库方法上的密码查询方面需要帮助,以便为我提供从指定节点开始的所有叶节点。

编辑在 Wes 的帮助下,以下查询(使用关联的 Spring Data 存储库方法)起作用: