问题标签 [neo4j-embedded]

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

java - Neo4j 嵌入式:从 2.3.9 升级到 3.2.3:initial_hosts 不相互通信

我已经在 SINGLE 模式下将我的 neo4j 嵌入式数据库从 2.3.9 升级到 3.2.3,它已经成功升级。升级后,我启用了“HA”模式。在使用 3 个集群运行 neo4j 时,我面临以下问题。

个别服务器在 HA 模式下运行良好。(即 ha.initial_hosts = "ip_address_1:5101"),但如果我在 initial_hosts 下添加三台服务器(如配置所示),所有三台服务器都会立即停止。

我是否缺少任何配置?请建议。

配置:

从 neo4j debug.log:

0 投票
0 回答
37 浏览

java - 访问索引时升级 Neo4j 3.3.1 后出现 NullPointerException

我已将 Neo4j 从 2.3.8 升级到 3.3.1。访问hits = index.query(query); 我得到 nullPointerException。下面是我的代码。

您可以检查上面的代码我正在检查查询!= null,但仍然得到空指针。是索引的问题吗?

下面是错误

0 投票
1 回答
670 浏览

neo4j - 如何使用 neo4j 浏览器通过 bolt 连接到 neo4j 嵌入式实例?

我已按照文档第 4.14 节中的说明进行操作,但我不知道如何将 neo4j 浏览器连接到我的嵌入式实例。服务器运行后,我通过 neo4j 桌面打开浏览器并运行:server connect. 这会提示我输入主机、用户名和密码。我不确定要为这些值添加什么。我已经为主机尝试了许多 、 和 的组合,localhost并且我尝试了用户名/密码组合,例如 neo4j/neo4j、neo4j 作为带有空白密码的用户名,以及空白用户名和密码。我从来没有为数据库设置用户名和密码。无论我尝试什么,我总是会收到以下错误:localhost:7687bolt://localhost:7687

主机、用户名和密码的正确值是什么?

0 投票
0 回答
101 浏览

neo4j - Neo4j 浏览器无法完全连接到嵌入式实例

我正在尝试使用 neo4j 浏览器连接到 neo4j 嵌入式实例,但是当我尝试连接浏览器时,只会永远显示“正在连接...”,并且浏览器控制台中会显示以下错误:Uncaught Error: Bolt V2 should always support byte arrays. 什么可能导致这种情况?

0 投票
1 回答
147 浏览

neo4j - 如何在嵌入式 neo4j 中使用“apoc.util.md5”

我在这里找到了一些关于在嵌入式 neo4j 中启用 APOC 的代码示例。

就像我需要注册程序的类一样。(但缺乏描述。想知道是否有官方教程)

我在我的 pom.xml 中添加了这个:http://mvnrepository.com/artifact/org.neo4j.procedure/apoc/3.3.0.4

而且我想应该有一个类想apoc.util.Md5注册,但似乎没有。

0 投票
1 回答
177 浏览

java - using Neo4j embedded in Java applications

I am trying to use Neo4j embedded in Java applications, and I am using this code:

But I got this Exception:

any idea, please

0 投票
1 回答
257 浏览

java - 通过 bolt 暴露嵌入式 Neo4J OGM 数据库

我正在使用带有 OGM 的 Neo4J 嵌入式数据库,并通过 OGM SessionFactory在目录中创建数据库服务:

这很好用,但现在我想用 Neo4J 浏览器工具浏览创建的数据库。当我阅读时,我必须通过 Bolt 公开我的数据库才能访问它。

Neo4J Embedded 文档中,他们使用GraphDatabaseService并简单地指定一个额外的螺栓驱动程序来公开数据库:

但不幸的是,我在使用 OGM SessionFactory 时没有这个选项。我尝试使用多个 URI 调用配置生成器:

但它似乎忽略了第一个 URI(我的文件位置),而是在临时位置创建数据库。

调试输出将相应的消息记录到控制台:

谁能解释我如何通过螺栓公开我的嵌入式数据库或使用 Neo4J 浏览器以其他方式访问它?

非常感谢!


解决方案

在 meistermeier 的帮助下,我能够创建一个真正的 EmbeddedDatabase 并将我的 OGM 连接到它。我添加了螺栓连接选项,因为我在文档中找到了它们。现在,数据库已创建并通过 Bolt 正确公开。我可以连接我的 Neo4J 桌面 Windows 浏览器。

最终代码是

0 投票
1 回答
276 浏览

java - 使用 Neo4J OGM 映射树结构

我正在使用 Neo4J OGM(最新版本)将我的数据序列化到 Neo4J 嵌入式数据库中。

这适用于我的大多数实体,但是一旦我尝试保存树状结构,就需要永远保存并且似乎创建了数千个这样的关系,尽管我只是保存了一些节点:

这些展开操作也需要很长时间(这一行要长得多,只是摘录):

节点本身看起来像这样。NeoEntity 类拥有唯一的 id。

我尝试过各种关系,但都没有找到解决办法。将非常感谢任何想法。


附加信息:如果我让它运行,它会填满堆直到它崩溃:

0 投票
1 回答
71 浏览

neo4j - 理解模式和neo4j-embedded

使用嵌入 neo4j(版本 3.5.3)的理解时遇到问题。

例如,这种查询在 neo4j 企业 3.5.3 中工作得非常好,但不适用于 neo4j-embedded :

我在使用 neo4j-embedded 时遇到的错误很难理解,看起来像是一个内部错误:

任何想法 ?

0 投票
0 回答
96 浏览

neo4j - Neo4j嵌入式中的逻辑节点删除

我在嵌入式 Neo4j 实例中有以下图表:

在此处输入图像描述

我想找到所有不被其他人打招呼的人。这很简单:MATCH (n) WHERE NOT ()-[:GREETS]->(n) RETURN n.

但是,每当我找到不受欢迎的人时,我想从数据库中删除这些节点并重复查询,只要它匹配一个或多个节点。也就是说,从图中的图表开始,我想:

  1. 运行查询,返回“Alice”
  2. 从数据库中删除“爱丽丝”
  3. 运行查询,返回“Bob”
  4. 从数据库中删除“鲍勃”
  5. 运行查询,它不返回任何匹配项
  6. 返回名称“Alice”和“Bob”

此外,我想在不从数据库中实际删除任何节点的情况下执行该算法——即一种“逻辑删除”。

我发现的一种解决方案是调用success()事务,以便不将节点删除提交给数据库,如下面的代码所示:

此代码正常工作并打印“未打招呼的人:鲍勃,爱丽丝”。

我的问题是:这种方法(即在打开的事务中保留一系列数据库操作)是否有我应该注意的缺点(例如潜在的内存问题)?我可以使用其他方法来完成此任务吗?

我还考虑在节点上使用布尔属性将它们标记为已删除或未删除。我担心的是我正在处理的实际应用程序包含数千个节点和各种关系,并且实际查询是不平凡的,所以我宁愿不更改它们以适应软删除布尔属性(但我如果事实证明这是最好的方法,我愿意这样做)。

另外,请注意,我不只是在寻找不在循环中的节点。相反,基本思想如下。我有一些满足一定条件的节点c;我想(逻辑上)远程那些节点;这可能会使新节点满足相同的条件c,依此类推,直到满足的节点集c为空。