问题标签 [neo4j-driver]

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

encryption - Neo4j 服务器证书不受信任

我刚刚在 Google Cloud 上的 VM 上设置了我的 Neo4j 服务器,我使用的是 Enterprise 版本 4.1.1,并且我已经完成了 David Allen 关于如何使用 LetsEncrypt 获得证书的精彩帖子(此处)。

这一切都运行良好,我现在拥有一个完全安全的 Neo4j 服务器,我可以MYDOMAIN.COM:7473/browser使用我的主机名通过浏览器 ( ) 访问它。但是,我现在在让我的应用程序使用 javascript 驱动程序连接到服务器时遇到问题。

我不断收到以下错误:

无法连接服务器。请确保您的数据库正在侦听正确的主机和端口,并且您在 Neo4j 服务器和驱动程序上都有兼容的加密设置。请注意,Neo4j 4.0 中的默认加密设置已更改。原因:服务器证书不受信任。如果您信任要连接的数据库,请使用 TRUST_CUSTOM_CA_SIGNED_CERTIFICATES 并将签名证书或服务器证书添加到此驱动程序信任的证书列表中,使用 neo4j.driver(.., {trustedCertificates:['path/to/certificate .crt']})。这是一种防止中间人攻击的安全措施。如果您只是尝试 Neo4j 并且不关心加密,只需在驱动程序选项中使用 encrypted="ENCRYPTION_OFF" 禁用它。套接字回应:

我已通读驱动程序文档(此处)并添加了trust: "TRUST_CUSTOM_CA_SIGNED_CERTIFICATES"trustedCertificates:[]设置。我从我的服务器(cert.pem、chain.pem、fullchain.pem 和privacy.pem)下载了所有证书,并在trustedCertificates 设置中链接到它们。

不幸的是,我仍然遇到同样的错误。作为参考,这是我的驱动程序当前的配置方式:

我正在使用最新版本的驱动程序 v2.14.4 并启用了完整日志记录,但我没有得到比上述更多的信息。我只是无法弄清楚我做错了什么 - 有没有人有任何想法?

0 投票
2 回答
181 浏览

neo4j - 用java在neo4j中同时更新多个相关节点

我想复制多个节点,然后同时删除旧节点。为此,我编写了一个多线程 Java 应用程序。我的密码查询如下:

我的java代码如下:

我使用 3 个线程,当三个节点相互关联时,只有一个节点被更新,但是当这些节点相互不关联时,三个节点都成功更新。即使它们同时相互关联,我如何更新它们?我正在使用 neo4j 企业版 3.4.7 。

0 投票
1 回答
194 浏览

neo4j - neo4j - declare variables that are available for node creation in FOREACH clause and also for the RETURN clause

I'm working on neo4j graph with the following labels: Store, User, Product

the relationships are: (store)-[:OF]->(user), (product)-[:OF]->(user), (store)-[:SELL]->(product)

when adding or updating a store, products can be added, updated, attached or removed from the store. update can be done only if the product has no attachment to other store.

I have the following adding Store query which is working:

(it might seem weird that one of my condition is checking the store id, when i just created it, but this query in the code handles more situations when it is needed, and i don't wont to trouble with the whole code)

the modification needed is moving the creation of the store to the FOREACH statement because, i don't wont to create the store if one of the products didn't pass one of the CASE conditions.

i tried moving the store creation inside the FOREACH statement using MERGE -

but i got this error:

Neo4jError: Variable store not defined

pointing on the store variable in the RETURN statement.

i tried adding another WITH statement between the FOREACH and the RETURN but i got the same error only pointing on the store variable in the WITH clause.

how can i declare a variable out side of the FOREACH clause so i could create node for it in the FOREACH and also use it in the RETURN ?

0 投票
1 回答
95 浏览

node.js - 使用 neo4j-ha-bolt-driver 在节点 js 中得到“Neo.ClientError.Cluster.NotALeader”

我使用 neo4j-ha-bolt-driver 模块连接到 neo4j 集群。我连接到neo4j并尝试更新查询,但我得到“Neo4jError:不允许直接在此数据库上进行写入操作。写入必须通过领导者。此服务器的角色是:FOLLOWER”。知道如何解决这个问题吗?

0 投票
0 回答
37 浏览

graphql - 从驱动程序推断出架构后,如何合并架构?

我使用 inferSchema 直接从 neo4j 数据库生成 GraphQL 类型定义,如下所示:

现在我需要将上面的模式与另一个模式合并,这样我就可以扩展一个类型,但是每次我尝试都会引发这个错误:

初始化 Neo4j 架构
这可能需要一些时间,具体取决于数据库 pathToProject\node_modules\graphql\validation\validate.js:124 的大小
throw new Error(errors.map(function (error) { ^ Error: Cannot extend type " Municipio”,因为它没有定义。

这是我尝试合并它的完整代码:

0 投票
1 回答
38 浏览

python-3.x - 如何创建新数据库或连接到现有数据库

我拉动并运行neo4j docker:

从python我可以连接到它:

但似乎没有 API 可以选择DB name我想使用的?

  • 是否可以创建多个数据库(如postgres psycopg2 connect函数dbname?)

  • 我希望能够创建 2 个不同的数据库(图)并通过 python 选择要使用的数据库(图)

  • 我该怎么做 ?

0 投票
1 回答
68 浏览

python - neo4j 驱动函数等价于 py2neo 函数

对于上面的代码,我用下面的驱动代码替换了,但是它不起作用,neo4j驱动中的函数相当于py2neo中的evaluate()函数是什么?

当第二个代码的graph_response的结果传递给下面的代码时,我收到一个错误

TypeError: <neo4j.work.result.Result object at 0x7f94cf7f31d0> is not JSON serializable

当它在行中传递时错误来了

0 投票
0 回答
111 浏览

neo4j - 无法从失效连接中读取(Jupyter notebook,python 驱动程序)

我尝试将数据导入 Azure 中的 Neo4j VM。

此代码有效:

但是这段代码不起作用:

我有错误:

事务失败,将在 1.0608892687544587s 内重试(无法从失效连接中读取地址(主机='IP',端口=7687)(地址(主机='IP',端口=7687)))

我不知道我必须更改或检查什么。我也试过 Neo4j Desktop,我也有同样的错误。

Neo4j 版本:4.1.3

0 投票
1 回答
681 浏览

node.js - 无法使用 neo4j 驱动程序从 nodejs 连接到 neo4j

我正在使用 neo4j-driver 通过 nodejs 连接到 neo4j,但我遇到了一个问题。

即使数据库已启动并运行并且可以通过neo4j浏览器访问,它也会给出错误无法连接到服务器。

驱动程序连接设置为

我在用于添加数据的不同文件中使用这个导出的驱动程序。
这是我用来向数据库添加数据的代码。


整个代码大约在一周前工作,但现在遇到了这个问题。
0 投票
1 回答
183 浏览

neo4j - 如何使用 neo4j-driver 函数获得与 py2neo 中 evaluate() 函数的结果相同的结果?

对于上面的代码,我用下面的驱动代码替换了,但是它不起作用,neo4j驱动中的函数相当于py2neo中的evaluate()函数是什么?

当第二个代码的graph_response的结果传递给下面的代码时,我收到一个错误

TypeError: <neo4j.work.result.Result object at 0x7f94cf7f31d0> is not JSON serializable

当它在行中传递时错误来了