问题标签 [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.
neo4j - 使用 Neo4jSessionFactory.queryForObject (或类似)加载所有相关实体
使用 neo4j-ogm,我编写了以下代码,其中包含两个数据库调用。我希望它只有一个数据库调用。
第一个数据库调用是
neo4jSession.queryForObject(Member.class, query, parameters);
第二个数据库调用是
return (Member)super(find(member);
super
是return session.load(Member.class, member.getId(), 1);
哪里session
是neo4jSession
。
我进行第二次 API 调用是因为第一次 API 调用只获取节点/对象,而不获取其相关节点/对象。第二个 API 调用刷新节点及其所有关系。
有谁知道我如何通过一个数据库调用有效地完成所有这些工作?
queryForObject 似乎不像许多其他 neo4jSession 方法那样支持可变深度。
spring - Spring OGM-建模实体
我有这种情况,其中一位访问者向居民创建了一个待处理的访问请求。然后根据居民提供的答复,访问被批准或拒绝。但在创建新请求之前,访客也有可能已获得居民的永久批准访问许可,在这种情况下,我不需要经历审批周期。
我想以一种可以使用继承的方式对我的实体进行建模,其中,待定访问请求关系是从访问者到居民创建的,而批准/不批准是从居民到访问者发生的。
这是通用的 Person 类:
请注意,Entity 类与 spring-OGM 示例中的相同。这是一个设置了关系类型的居民:
和访客:
以下是按顺序排列的通用访问、PendingVisit 和 PermanentlyApprovedVisit 关系:
公共抽象类访问{
在尝试创建 pendingVisit 时,我首先要检查 PErmanentlyApprovedVisit 关系是否已经存在。我正在编写测试,这就是我测试的方式:
最后,这是 ResidentRepository 方法:
但是,当我运行它时,我不断收到这个异常:
我想在这里实现的那种建模有问题吗?我读了另一个线程,这是 Prev 和 Next 的问题:
java - SDN4 - Neo4j OGM 和 JsonSubType 注释
我遵循了来自 SDN3 的 SDN4 迁移路径,并遇到了此处记录的相同问题:SDN4 - Neo4j OGM - Jackson 2
答案中引用了一个补丁,并提到它将应用于 neo4j-ogm 1.1.1。从那以后,我尝试了 1.1.1 和 1.1.2 版本,但没有成功。这是我的带有 JsonSubType 注释的 SDN 注释实体的示例。我正在使用杰克逊注释 2.6.2。
如果我注释掉 JsonSubTypes 注释,我的单元测试就可以工作。但是,将其放入链接的stackoverflow问题会导致异常。
任何想法,解决方法?在我看来,该补丁尚未应用于 neo4j-ogm 的发行版。
python - 在 NeoModel 中创建之前查看节点是否存在
如何在创建节点之前检查它是否存在neomodel
?除了过滤器之外还有其他方法可以优化我的代码吗?
maven - 如何诊断这个 neo4j-ogm / mvn spring-boot:run 问题?
我希望有人能提出一个我可以用来诊断这个的策略。我认为这可能是 spring-boot maven 插件中的一个错误。
我正在开发一个使用 neo4j-ogm 进行持久性的应用程序。
当我在 Eclipse 中启动它或作为可执行 jar 启动它时,应用程序启动并运行得很好。
当我使用它启动它时mvn spring-boot:run
它不起作用并抛出以下堆栈跟踪。
关于 spring-boot maven 插件可能做错了什么的任何指示?
附加信息
作为可执行 jar 开始打印输出:
从mvn spring-boot:run
打印开始:
会话工厂代码
json - 如何以 GraphJSON 格式而不是树格式返回 Neo4j OGM 实体以进行可视化?
我从 Neo4j OGM(对象图映射)以嵌套树状格式获取 JSON 数据。 http://bl.ocks.org/mbostock/4063550
但是为了可视化复杂的图形,我需要获取以下 graphJSON 格式的 JSON 数据。 http://bl.ocks.org/mbostock/4062045
即,节点和链接分开。
这是为了在使用 Java 执行各种操作后,使用 d3.js 可视化从 Neo4j 中可视化数据。
neo4j - SDN4 或 neo4j-ogm 性能问题
我编写了一些简单的 java 代码,但在 SDN4 中遇到了一些我在 SDN3 中没有的糟糕性能。我怀疑 find repositories methods depth 参数不能完全按照它应该的方式工作。让我解释一下问题:
这是我的 java 类(这只是一个示例),其中我删除了 getter、setter、contructors,......
第一类是“元素”:
第二个是“属性”
“值”类允许我的用户在元素上为特定属性添加值:
“元素”类确实需要知道它的值,但“属性”类根本不关心值。
一个属性在 InternationalizedProperties 类上有引用,如下所示:
属性与其 InternationalizedProperties 之间的关系实体如下所示:
然后我创建了一个小的 main 方法来创建两个属性和 10000 个元素。我的所有元素都具有第一个属性的特定值,但没有第二个属性的值(它们之间没有关系)。这两个属性都有两个不同的国际化属性。这是一个示例:
最后,在另一个主要方法中,我尝试多次获取第一个属性和第二个属性:
以下是此执行的日志:
获取第二个属性(以及由于 depth=1 而获得的国际化属性)非常快,但获取第一个属性仍然非常缓慢。我知道有很多关系(确切地说是 10000 个)指向第一个属性,但是当我想获得一个具有其国际化属性的属性时,我显然不想获得所有指向它的值。(因为未在 Attribute 类上指定 Set)。
这就是为什么我认为这里存在性能问题。还是我做错了什么?
谢谢你的帮助
spring-data-neo4j-4 - What are the differences between Spring Data Neo4j 4 and neo4j-ogm?
I notice SDN4 has the concept of repositories and annotations for cypher queries, but this seems not much more than programming style? Neo4j-OGM seems straight forward, easy to set up, with a really practical and efficient API. I'm wondering why both projects exist. Are there any real differences between the two?
Spring Data Neo4j
http://projects.spring.io/spring-data-neo4j/
Neo4j OGM
java - Neo4j OGM 是否适用于接口?
我开发了两组类——第一组只是类,而在第二组中,类派生自接口。两组类相互模仿。它们的存储库也相似。但是,存储库适用于第一组类(节点和关系)。虽然对于第二组类,存储库能够插入记录,但是 findAll 方法失败并且不返回任何记录。
这是存储库的第一组类 -
这是第二组课程 -
我在这里错过了什么吗?或者 Neo4j OGM 是否适用于类(不实现接口)?
整个源代码位于 - https://github.com/mmwaikar/java-neo-ogm-ex(以防万一,它有帮助)。谢谢,马诺伊。
spring-data-neo4j-4 - 使用 SDN4 意外删除关系
我在我的数据模型中有一个测试失败,之前在将一些 neo4j-ogm 代码转换为使用 spring-data 后通过了该测试。但是,我几乎可以肯定 spring-data-neo4j 不是我遇到的问题的原因。从概念上讲我缺少更多的东西(关于会话或肮脏或其他东西?)
测试的行为是:
以前,节点 A 使用其属性进行了更新,并且在测试执行后,数据库中的节点 A 和节点 B 之间存在关系。
然而,转换后的结果是一样的,只是在第二次保存对象 A 后,数据库中不再存在节点 A 和节点 B 之间的关系(它被删除)。
我可以做些什么来改变这种行为吗?预期的行为是什么?