问题标签 [neo4j-java-api]

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 投票
2 回答
140 浏览

neo4j - Neo4j - 无法在 java 中使用密码建立关系

在创建关系时,我无法通过 java 执行密码查询。它不会引发任何错误,但不会创建任何关系。尝试使用其他密码查询返回一个完美返回的节点。但无法弄清楚没有建立关系的原因。

这是我的代码:

0 投票
2 回答
147 浏览

java - 是否可以使用 Java API 确定 Neo4J 中的“节点”是否在事务中?

是否可以确定 aNode是否在交易中?可以GraphDatabaseService通过方法得到一个Node.getGraphDatabase

我想做这样的事情:

我想这样做的原因是因为我想在尝试Neo4JHelper在事务之外使用我的类时给我的用户一个自定义错误。

另一种解决方案是,如果有可能以某种方式告诉编译器您需要一个事务来使用该方法/类,否则会给出编译错误。

0 投票
1 回答
107 浏览

path - 在 Neo4j 中查找具有有向边的路径

这是我第一次尝试 Neo4j,如果我遗漏了一些非常琐碎的东西,请原谅。这是我的问题:


考虑在以下 Neo4j 控制台示例中创建的图表: http ://console.neo4j.org/?id=y13kbv

在此示例中,我们有以下节点:

(人 {memberId,memberName,membershipDate})

(电子邮件 {value,badFlag})

(AccountNumber {value, badFlag})

我们可能有更多的节点来捕获与个人相关的特征,例如 creditCard、billAddress、shipAddress 等。所有这些节点都将与 Email 和 AccountNumber 节点相同: (creditCard {value, badFlag}), (billAddress {value, badFlag }),ETC。

在 Neo4j 控制台示例中填充了图表后,假设我们在图表中再添加一个 Person,如下所示:

当我们将这个新人添加到系统时,用例是我们必须检查是否存在从新人的特征(“email6”和“a2”节点)到系统中任何其他节点的路径,其中“ badFlag=true",在本例中为节点 (a1 {value:1234, badFlag:true})。

在这里,结果路径将是(email6)-[BELONGS_TO]->(p7)<-[BELONGS_TO]-(a2)-[BELONGS_TO]->(p6)<-[BELONGS_TO]-(email5)-[BELONGS_TO]->(p5)<-[BELONGS_TO]-(a1:{badFlag:true})

我试过这样的事情:

当只有一级链接时,这似乎有效,但当路径可能更长时,如 Neo4j 控制台示例的情况,它不起作用。

我需要有关 Cypher 查询的帮助,这将帮助我解决这个问题。我最终将使用我的应用程序使用 Neo4j 的 Java API 执行此操作。使用 Java API 执行此操作的正确方法是什么?

0 投票
1 回答
350 浏览

neo4j - 在一个事务中包装多个数据库查询

我在我的 java 应用程序中以嵌入式模式使用 Neo4j。

在升级到 Neo4j 2.x 之前,我将多个数据库操作包装在一个事务中。升级到 2.x 后,我明确地在一个单独的事务中执行每个 db 操作(这是规范的方式,正如文档所建议的那样)。但是,创建数据库的速度已经严重下降。

有没有办法,我可以在一个事务中包装多个数据库操作(插入和查询)?我确实明白,在回滚的情况下,我将不得不处理丢失的 CRUD 操作。

还请提出一般性建议,以扩展最终将拥有超过 6 亿个节点和关系以及超过 20 亿个注释的数据库。

0 投票
1 回答
106 浏览

neo4j - 在 neo4j-jdbc 中执行 cypher 时结果集不匹配

我想远程使用 neo4j-jdbc jar 执行密码语句。

当我执行以下密码时,我在 neo4j Web 控制台中获得了 25 行的结果集。

当我使用 neo4j-jdbc 远程执行相同的程序时,我得到 0 个结果。

打印尺寸为零。

我不确定,究竟是什么错误。

0 投票
1 回答
198 浏览

neo4j - Neo4j 独立服务器:在服务器启动时使用 Java API 强制执行唯一约束

我正在使用 Neo4j Server 2.3.2 版本并使用非托管插件来解析非结构化数据并将其加载到图形中。

在执行此操作时,我陷入了重复节点和缓慢吞吐量(即使是批处理)的情况,以进行顺序处理。考虑到重复数据加载的用例,使用以下任一方法寻求并行数据处理(使用服务器插件):

  1. 拆分文件

  2. 拆分进程/线程

现在,对于并行日期加载,我可以预见的最大挑战是处理数据完整性问题,例如如何避免创建重复节点。阅读 Neo4j 的参考资料,我发现了以下创建唯一节点的选项。

选项:

  1. [首选] 使用 Cypher 和唯一约束获取或创建唯一节点

  2. [其他] Java API 的悲观锁定

  3. [Other] 使用遗留索引获取或创建唯一节点

现在,问题是我可以从哪里使用 java API 强制执行这个独特的约束。我正在寻找一些可以捕获和执行约束的事件信息。请告知加载/调用某些事件/方法的最佳方法是什么,我们在那里注入代码以执行约束。

此外,有没有办法在创建任何实体之前使用 Cipher 定义这种独特的强制执行。

提前致谢

参考:

  1. http://neo4j.com/docs/stable/transactions-unique-nodes.html

  2. http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-get-or-create

  3. http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-get-or-create-with-factory

  4. http://neo4j.com/docs/stable/rest-api-unique-indexes.html

  5. http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-pessimistic

  6. http://neo4j.com/docs/stable/tutorials-java-embedded-unique-nodes.html#tutorials-java-embedded-unique-get-or-create

  7. http://neo4j.com/docs/stable/javadocs/org/neo4j/graphdb/index/Index.html#putIfAbsent%28T,%20java.lang.String,%20java.lang.Object%29
0 投票
1 回答
96 浏览

neo4j - Neo4j - org.neo4j.io.pagecache.impl.SingleFilePageSwapperFactory

在 java 中创建 GraphDB 对象时,我遇到了这个奇怪的错误。我的 neo4j 版本:2.2.5

我的代码:

但是,它抛出以下错误:

早些时候我的代码运行良好。想不出原因。谢谢

0 投票
1 回答
140 浏览

neo4j - API for PL/SQL to Neo4j equivalent

Is any API or tool available to convert PL/SQL procedure, functions to neo4j equivalent ?? Currently I use Oracle 10 as my data source and planning to switch to Neo4j.

0 投票
0 回答
819 浏览

neo4j - Neo4j 螺栓驱动程序 ClientException

我从 neo4j 加载 csv 示例中提供的消费者投诉 csv 文件中加载了大约 20000 个奇数节点。我在我的 java 类中使用 Neo4j 螺栓驱动程序来查询。

但是当我试图在 processResult 方法中循环这个 StatementResult 时,我得到了以下异常

出现意外错误(类型=内部服务器错误,状态=500)。org.springframework.web.util.NestedServletException:请求处理失败;嵌套异常是 org.neo4j.driver.v1.exceptions.ClientException: Trying to read message complete ending '00 00' 而消息内容中还有更多数据未读:

如果我试图通过将结果限制为 50 或 100 来仅获取一个小结果,我不会遇到此问题。有人可以帮忙吗?

0 投票
0 回答
167 浏览

neo4j - Neo4j java驱动结果只返回一行

我的 neo4j 架构中有大约 20000 个奇怪的节点和关系。我正在尝试查询该数据并显示在我的浏览器中。我正在使用带有 Spring jdbcTemplate 的 neo-4j java 驱动程序。但在查询 MATCH(n)<-[r]-(m) 下返回 n,type(r),m 限制 100

它在 Java 中只返回一行,而如果我在 neo4j shell 或控制台中运行它,这个相同的查询将返回所有节点和关系。很奇怪。有什么原因吗?

pom.xml 依赖项

除了我在上面发布的内容之外,代码没有太多内容。如果我使用结果迭代器进行迭代,它只会给我一个结果。