问题标签 [neo4j-bolt]

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

python-2.7 - 将 Neo4j 数据保存到 Spark RDD(或)DataFrame

我正在使用Python语言中的Bolt 驱动程序从Neo4j中检索数据。返回的结果应存储为 RDD(或至少存储为 CSV)。我能够看到返回的结果,但无法将其存储为 RDD 或数据框或至少存储到 csv 中。

这是我看到结果的方式:

在这里,我如何将这些数据存储到 RDD 或 CSV 文件中。

0 投票
0 回答
510 浏览

neo4j - 在 glassfish4 中使用 hibernate-ogm-neo4j 时出现异常“提供程序不是子类型”

我试图让 hibernate-ogm-neo4j (5.1.0.Alpha1) 在我的 glassfish (4.1.1) 中运行。当使用 datastorprovider 启动应用程序服务器时,<property name="hibernate.ogm.datastore.provider" value="neo4j_embedded"/>它会显示一个很长的堆栈跟踪,不断重复以下异常:

使用<property name="hibernate.ogm.datastore.provider" value="neo4j_bolt"/>异常更改为

我更喜欢以 Bolt 模式连接,但我不确定我是否配置错误,或者它是否是 hibernate-ogm 或 neo4j 中的错误。

这是我完整的persistence.xml:

更新

我对错误消息进行了更深入的研究。它实际上是在 JavaServiceLoader类中抛出的,并表示类似org.neo4j.driver.internal.spi.Connectoris not a superclass of org.neo4j.driver.internal.connector.socket.SocketConnector. 但当然是

并且在相关中还有一个META-INF.services描述,neo4j-java-driver-1.0.4.jar其中包含路径预期的绝对类名org.neo4j.driver.internal.connector.socket.SocketConnector

这让我更加困惑。我是否必须将此配置应用于我的 Glassfish,因为它不是自动完成的?

更新 2

如果使用,问题就会消失neo4j-java-driver-1.1.0-M6.jar(只需在你的 pom 中声明依赖项,它将被使用而不是 1.0.4。它与 hibernate-ogm-neo4j-5.1.0.Alpha1 捆绑在一起)。虽然仍然不知道版本 1.0.x 有什么问题,但我已经联系了开发人员以找出问题所在。

0 投票
2 回答
58 浏览

java - 因果集群。即使在事务终止后数据也不在图表中

我们使用 Neo4j 企业版进行因果聚类。有3个核心节点和3个副本节点。

是否有必要显式关闭 Session 以使数据在 neo4j 数据库中可见。我在每个会话中创建近 20K 事务(每个事务都创建一个节点),每个事务都显式调用 success();

我观察到除非会话终止,否则数据在 Neo4J 图形(浏览器)和 Neo4j shell 中不可见。

难道我做错了什么?我希望,由于每个事务都明确地跟随 success() 方法,所以一旦从事务返回 success(),我应该能够看到数据。

Neo4J (bolt Driver) 是否在提交 Graph 中的所有事务数据之前等待会话完成?所有这些交易都是独立交易,与先前或即将发生的交易无关?

请赐教。

0 投票
1 回答
181 浏览

neo4j - Neo4j:自动删除关系

我正在使用带有螺栓驱动器 2.0.6 的弹簧数据 neo4j 版本 4.1.2。我面临自动打破实体之间关系的问题。

我有一个名为组织的域,组织属于许多实体,但我只提到很少。

组织架构

国家模式是

当我更新组织时,它会破坏国家的所有关系,例如破坏国家与假期的关系等

组织更新代码

我找不到,我做错了什么。请帮帮我,我们现在不能承受这种错误。

谢谢

0 投票
1 回答
497 浏览

neo4j - 因果集群友好的实施

我正在构建一个使用本机 neo4j JavaScript 驱动程序的应用程序。如果我们迁移到因果集群,我想确保我的代码能够正常工作。

在线文档似乎并不清楚如何执行此操作:我注意到对“书签”和“阅读您所写的内容”等内容的引用很少。但它们如何组合在一起尚不清楚。

有人可以提供一个概要吗?

0 投票
0 回答
72 浏览

azure - 通过bolt在远程服务器上构建neo4j db时性能不佳

我正在从各种来源构建一个 neo4j 数据库,其中 ac# 脚本在本地运行并使用官方螺栓驱动程序连接到 neo4j。在 localhost 中创建数据库时,创建节点和关系大约需要 3 分钟,但是当连接到托管在 Azure 上的服务器时,仅创建节点需要一个半小时。

一些指标:

  • ~370k 节点

  • 本地计算机:i7,16g ram 和 ssd

  • 远程计算机:Azure Debian VM Standard_DS2

  • 当前每笔交易发送 1000 个查询

  • 我在所有节点 ID 上都有索引

  • Azure 指标:Azure 指标

我可以理解,它不会像在 localhost 上创建数据库那么快,但找不到造成这种差异的原因。

谢谢!

编辑

它非常经典的创建查询,例如:

MERGE (n:NodeArt {id:$id}) ON CREATE SET n.nature = $nature, n.dateDebut = $dateDebut, n.dateFin = $dateFin

我使用“开箱即用”配置,动态计算堆大小和页面缓存大小。

0 投票
2 回答
181 浏览

node.js - 使用 KOA-NEO4J 或 BOLT 将属性和节点集作为 POST 语句传递

我正在构建一个连接到 NEO4J 实例的 REST API。我使用 koa-neo4j 库作为基础(https://github.com/assister-ai/koa-neo4j-starter-kit)。我是所有这些技术的初学者,但感谢这个论坛的一些帮助,我的基本功能正常工作。例如,下面的代码允许我创建一个带有标签“metric”的新节点并设置名称和 dateAdded 属性。

网址:

index.js

createMetric.cyp"

但是,我很难知道如何处理更复杂的示例。当我不知道预先创建一个新节点时会添加多少属性或者我想在单个 post 语句中创建多个节点时,我该如何处理这种情况。理想情况下,我希望能够将 JSON 之类的东西作为 POST 的一部分传递,其中包含我想要创建的所有节点、标签和属性。这样的事情可能吗?我尝试使用下面的 Cypher 查询并在 POST 正文中传递一个 JSON 字符串,但它不起作用。

我最好切换到 Neo4j Rest API 而不是 BOLT 协议和 KOA-NEO4J 框架。根据我的研究,我认为使用 BOLT 会更好,但我希望有一个 Rest API 作为我的前端和后端之间的中间层,所以如果从长远来看这会更容易,我愿意改变。

谢谢您的帮助!

0 投票
1 回答
370 浏览

neo4j - neo4j-gremlin-bolt 、 Tinkergraph 和 Neo4j-gremlin 之间的不同行为

我从 Tinkerpop3 的 neo4j-gremlin-bolt Neo4j 实现中看到了 Tinkergraph 和 Neo4j-gremlin 之间的不同行为,特别是在这段代码中:

我所期望的是顶点数从 1 增加到 10,这就是我在 Tinkergraph 和 Neo4j-gremlin 中看到的。我在 neo4j-gremlin-bolt 中看到的是计数始终为 1(在第一个 AddVertex 之后)。提交后,Neo4J 数据库中出现了 10 个实例(如预期的那样)。第二次运行它,计数始终为 11(在第一个 addVertex 之后),并且在提交之后出现 20 个实例。

我让neo4j-gremlin-bolt按预期工作的唯一方法是在每个addVertex之后提交()和关闭()图形,这似乎不正确。

这似乎是基本行为,所以我认为我遗漏了一些明显的东西。

neo4j-gremlin-bolt - v0.2.18

tinkergraph-gremlin - v3.2.4

neo4j-gremlin - v3.2.4

0 投票
1 回答
988 浏览

neo4j - Neo4j 丢弃约束(如果确实存在)

只有当它通过查询存在时,是否有任何方法可以删除约束?我正在使用 javascript 的螺栓驱动程序。

我最初以为我会抓住错误,但我得到的错误不够清楚:

在日志中我确实得到:

但我不想以编程方式打开日志并解析它。

只有当它存在时,有什么方法可以删除约束?我没有发现任何有用的东西。

我能想到的唯一一件事是首先尝试创建两个与约束冲突的节点(这会返回更清晰的错误),但我更喜欢更干净的东西。

0 投票
0 回答
334 浏览

javascript - Neo4j JavaScript Bolt 驱动程序 ECONNRESET,缓冲区关闭

我通过官方的 Neo4j javascript 驱动程序向数据库发送了大约 300 多个写入和一个读取查询。有时它很快,但有时我遇到由 driver.onError 调用的连接错误。查看 debug.log,似乎有时应用程序线程被阻塞,我得到下面的第二条日志信息。是不是因为我发送了太多查询,所以它被限制了?任何提示是什么原因造成的?非常感谢!

控制台日志:

调试日志: