问题标签 [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 投票
0 回答
1630 浏览

java - SpringData/Neo4j:无法保持关系

我有写(关系)状态(节点)实例的人(节点)实例。我知道这有点牵强,但我想训练。

每当我尝试坚持一个人时,这就是我得到的:

实体来了:

这是状态:

这是关系:

最后,负责持久化用户的代码:

以及相应的存储库:

我不确定出了什么问题。异常消息太奇怪了,我的调试会话并没有引导我到任何地方。

谁能告诉我我的代码有什么问题?

0 投票
1 回答
264 浏览

java - Maven/SpringData/Neo4J:添加 Gremlin 1.4

我想在我的 SpringData 存储库中使用 Gremlin,就像使用 Cypher 一样。AFAIK,Neo4J 1.6 和 SpringData/Neo4J 2.0.0 仅支持 Gremlin 1.4。

它是否正确 ?

无论如何,我在 Maven Central 中找不到 gremlin-groovy 1.4?还有另一种方法可以将其添加为依赖项吗?

0 投票
0 回答
539 浏览

java - 无法保存@RelationshipEntity

我正在尝试保存一些@RelationshipEntity:我有问卷,每个问卷都与一些问题有关。首先,我尝试如下:

并只保存根。这让我想到了这个问题: http: //forum.springsource.org/showthread.php?124316 -Spring-Data-Neo4j-NullPointerException-with-RelatedToVia和这个开放问题https://jira.springsource.org/browse/ DATAGRAPH-216?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel#issue-tabs

然后我试图只保存一个关系:

我的关系类看起来像:

我的班级问卷如下所示:

现在,我尝试保存一些测试数据:

不会抛出异常。我很高兴,但如果我查看我的数据库,我只看到 2 个节点,但它们之间没有关系。我的错在哪里?

谢谢

0 投票
1 回答
764 浏览

eclipse - Spring数据neo4j的命名空间错误

我目前正在尝试使用 GWT、Maven、Neo4j 和 Spring Data 建立一个测试项目。当我尝试在eclipse中以开发模式启动项目时遇到问题

我总是得到错误

org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:找不到 XML 模式命名空间的 Spring NamespaceHandler [ http://www.springframework.org/schema/data/neo4j]

这是给出错误的 application-context.xml 的一部分。

在 pom.xml 我使用

但我也遇到了 2.0.0.Release 版本的问题。

我在这里http://neo4j.org/nabble/#nabble-td3428668发现了同样的错误, 但没有提供答案或者是否有修复。

有人知道问题出在哪里吗?

0 投票
1 回答
2282 浏览

neo4j - 使用 Neo4j 强制关系唯一性

我正在使用 Spring 数据 neo4j 2.1.0.BUILD-SNAPSHOT 和 Neo4j 1.6.1 服务器。我在两个用户节点之间有一个友谊关系,我想确保为每个用户 1、用户 2 对只创建一个关系(顺序不计算在内)。

常见的建议是在创建另一个关系之前在应用程序级别检查关系是否已经存在,但我认为这并不能避免并发问题:约束应该在数据库级别进行管理。

我能想到的最佳解决方案是使用带有 Neo4j 1.6 中引入的唯一属性的 @Indexed 注释,并根据 user1 和 user2 id 创建一个唯一约束,例如

顺便说一句,我知道 Spring data neo4j 的最新版本支持使用 Neo4jTemplate.getOrCreateNode() 对节点进行此检查,但我不确定它是否适用于关系。其余的 API 应该在那里。独特的关系

所以我有两个问题:

1 有没有更好的选择?

2 我是否应该被这个并发问题所困扰,或者即使在高流量站点中也不太可能发生坏事并且应用程序级别的检查就足够了?我问是因为在我看来这是一个非常普遍的问题,但是 Neo4j 几乎没有关于这个问题。也许嵌入式版本受此影响较小。

谢谢

0 投票
1 回答
1094 浏览

neo4j - 使用 Spring Data neo4j 比直接使用 neo4j 有什么优势?

我是 NOSQL 数据库(或任何类型的数据库)的新手,我需要用 Java 构建一个图形数据库。我之前也从未使用过 SpringSource。使用 Spring Data neo4j 会使创建图形数据库的过程更容易还是会使事情复杂化?我应该直接尝试使用 neo4j 吗?非常感谢你。

0 投票
1 回答
149 浏览

spring-data - 在 Spring 容器之外使用 Spring Data Neo4j

Spring Data Neo4j 可以像 Spring Data JPA 一样“独立”使用(即在 Spring 容器之外)吗?

0 投票
1 回答
399 浏览

graph - Neo4J 想知道如何设置域结构。分裂的关系

我有一个使用 MySQL 作为 DB 和 hibernate 和 struts 的应用程序。我正在努力将其转换为使用 Neo4J 而不是 Hibernate 和 MySQL。结构有点不同,是一种新的关系思考方式——它们更栩栩如生。无论如何,我有一个与公司节点有关系的人员节点,并且使用了这种关系。所以一个人受雇于一家公司。一个人也有技能,这些技能可以在受雇于公司时获得。所以我需要以某种方式从雇佣关系转变为技能。

我知道你不能从一个关系转到一个关系,因为它们只是从一个节点到一个节点(一条边)的关系。所以我确定我只需要想办法更好地关联这些对象。我正在考虑以某种方式将雇佣关系拆分为一个节点作为经验。所以一个人是有经验的。他们通过受雇于一家公司获得了这种经验。他们从这次经历中获得了这些技能。这是有道理的,但我认为节点是“具体的”信息,我可以从那里开始并返回其他“具体”信息,并且在节点中拥有经验似乎并不正确。它似乎含糊不清,似乎应该存储在一段关系中,这就是我现在的方式,所以我回到了原点。

我正在努力解决的另一件事是将体验拆分为一个节点可能会对此有所帮助,那就是一个人可以从同一家公司获得多种类型的体验——可以说是沿着食物链向上发展。因此,我需要一个与不同经历有多重关系的人,这些经历指向同一家公司。这很好 - 拥有多种关系以拥有多种体验是有意义的。对于一家公司来说,要看看他们雇佣了谁,似乎还有很长的路要走。

也许这种经历更像是一个职位。一家公司有一个职位,并且该职位具有与他们相关的这些技能。该职位由一个人担任,该人可以将技能添加到已经与该职位相关联的内容。但是他们添加的那些技能不需要默认添加,因此需要在从位置到技能的关系中添加一些标志。

嗯,这可能行得通。其他任何人都在为 Neo4J 或任何图形数据库的此类域构建问题而苦苦挣扎。这绝对是一种新的数据结构思维方式。几乎最好忘记你学到的所有 rdbms 知识和“规则”。

0 投票
2 回答
1816 浏览

grails - 构建基于 Neo4j 的应用程序 - 坚持使用普通节点和关系的 vanilla API 还是使用 Spring/GORM?

我希望听到你们中任何一个已经构建和实现了一个体面的 Neo4j 应用程序(10 百万个节点/rels)的人的意见 - 以及你们的建议特别是 wrt 建模和各种 API(vanilla java/groovy Neo4j vs Spring-Data -Neo4j 与 Grails GORM/Neo4j)。

如果添加额外的 OGM(对象图映射)层和相关的抽象是否真的值得,我很感兴趣?

有没有人的经验是最好坚持使用节点+属性、关系+属性、遍历和(例如)Cypher 的“普通”图形建模来建模和存储他们的数据?

我担心的是,将特定的 OGM 抽象“强制”到图形数据库上会影响未来适应/更改域模型的灵活性和/或查询数据的灵活性。

我们是一家 Grails 商店,我已经尝试过 GORM/Neo4J 以及 spring-data-neo4j。

数据集的主要目的是对大量人、他们的别名、他们的同事以及各种犯罪活动和历史之间的关系进行建模和查询。将有 50 多个主要领域类。模型必须具有灵活性(需要在项目的早期阶段迅速发展)以及查询的速度和灵活性。

我必须承认,当我可以使用(例如)POJO 或 POGO、一点 Groovy 魔法和一些简单的手动域对象 <-> 节点/关系映射代码时,我正在努力寻找使用 OGM 层的令人信服的理由. 据我所知,我认为只要处理节点、遍历和 Cypher(又名 KISS),我就会很高兴。但我很乐意听到其他人的经验和建议。

感谢您的时间和想法,

TP

0 投票
1 回答
2151 浏览

spring - 问题将 spring-data-neo4j 独立 spring 项目连接在一起

我正在尝试使用 spring 创建一个沙箱来处理依赖注入。我的沙箱是几个域类,还有一个MainClass,其中有一个main(String[] args)方法。

在注释 my TestClasswith 时@Component,它只包含

在里面。

在我的main方法中,我调用ClassPathXmlApplicationContext了我的applicationContext.xml文件,该文件由以下部分组成:

但是我的程序无法在此处执行我声明 my 的行ClassPathXmlApplicationContext,并带有大量堆栈跟踪,我将打印第一个和最后一个 throwable。

第一的:

最后的:

我正在使用 neo4j 1.7 和 spring-data-neo4j 2.0.0.RELEASE,以及 spring 3.1.0.RELEASE。

我没有找到一个很好的理由,使用 spring-data-neo4j 提供的教程,为什么它会抛出这个异常。任何人都可以帮忙吗?