问题标签 [cypher-shell]

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 投票
0 回答
75 浏览

neo4j - Neo4j WHERE 导致重复?

我正在运行 Neo4j Desktop v1.4.1,数据库是 4.2.1 企业版。

我有一个展示位置、活动和展示位置与活动“包含”关系的简单图表。这是一个新的数据集,每个节点都是唯一的。一些展示位置“包含”数千个广告系列,因此我想通过广告系列 ID 的包含列表过滤返回的广告系列。

当我返回所有匹配的节点时,它可以工作:

当我只请求活动:id 时,我得到重复:

展示位置 5 和广告系列 15070 之间只有一个 CONTAINS 关系:

EXPLAIN 返回以下查询计划,cache[c.id]似乎它可能是罪魁祸首?

编辑:如果我在查询前加上CYPHER runtime=SLOTTED我得到预期的输出:

如果我省略 WHERE 子句,我会得到唯一的广告系列 ID(但太多)。我觉得我遗漏了一些明显的东西,但我已经阅读了 neo4j 文档但我没有得到它。谢谢!

0 投票
1 回答
48 浏览

neo4j - 我可以使用 1 个密码命令从 csv 文件加载节点和关系吗?

我有 2 个 csv 文件,我正在尝试使用 cypher 将它们加载到 Neo4j 数据库中:drivers.csv 包含每个公式 1 驱动程序和 laptimes.csv,它存储 F1 中的每一圈。

我已经设法加载了所有节点,虽然单圈时间文件非常大,所以花了很长时间!然后我尝试在之后添加关系,但是需要添加的东西太多了,我放弃了等待(它花了好几天,仍然没有完全加载)。

我很确定有一种方法可以同时加载节点和关系,这将允许我对我现在无法执行的关系使用定期提交。本质上,我只需要将 2 个命令合二为一,经过一些尝试,我似乎无法弄清楚该怎么做?

提前感谢您的帮助!

0 投票
1 回答
78 浏览

neo4j - neo4j 无法从终端查看数据库

这可能是一个愚蠢的问题,但我是 neo4j 的新手。我正在使用桌面版本,并从那里从一个新项目中创建了一个新数据库。我也可以从浏览器中看到它,我可以看到数据和东西。

在此处输入图像描述 但是如果我在我的终端上运行

从那里我输入

我只能看到默认的数据库: 在此处输入图像描述

有谁知道我做错了什么?

0 投票
0 回答
29 浏览

neo4j - 当 Neo4j 程序从 Neo4j 浏览器调用但不是从 cypher-shell 调用时,OOME 失败后重试

我已将 Java 方法作为插件中的标准存储过程部署到 dockerized Neo4j 中。该方法为某个标签的所有节点设置新属性。它因 OutOfMemoryError 而失败,因为 JVM 堆的大小不适合在单个事务中提交所有内容。

让我们调用该方法:

  • 当从 localhost:7474 上的 Neo4j 浏览器调用该方法时,该方法退出,但随后又被调用:
  • 当我docker exec进入 Neo4j 容器并从 调用方法时cypher-shell,该方法也因 OOME 而失败,但没有重复调用。

为什么从 Neo4j 浏览器调用该方法两次?是否有一些文档或源代码链接来支持这种行为的推理?

(请注意,问题不是如何修复 OOME,目前它已成功修复为批量处理,类似于apoc.periodic打包。)

0 投票
0 回答
40 浏览

neo4j - 无法通过密码外壳使用 neo4j 方案连接到 Neo4j 集群

我想从我的本地机器连接到我的 Neo4j 服务器。Neo4j 服务器由 3 个实例组成,因为它是一个集群。使用浏览器,我可以使用连接方案连接到集群:neo4j://localhost:7687 但使用 cypher-shell,我只能通过螺栓方案连接。

这是一个问题,因为我希望我连接的实例知道集群,如果我理解正确,螺栓方案不允许这样做。

我通过隧道进入 K8s 节点和端口转发 7687 连接到 Neo4j。这就是我的连接方式:

如您所见,即使我通过neo4j 方案连接,连接也会落到螺栓上。

0 投票
1 回答
53 浏览

c# - Neo4j 中的小于运算符问题

>,=正在工作,但少于操作员不在密码 neo4j 中工作。

可能是什么原因?

0 投票
0 回答
32 浏览

neo4j - Neo4j (cypher-shell) 为现有节点创建关系太慢

我正在努力在 Neo4j (v.4.1.1) 中的现有节点之间创建关系。我正在通过 cypher-shell 和包含 cypher 命令的文本文件创建节点和边。首先,我创建了大约 20K 个节点。Cypher-shell 运行没有问题。但是当尝试使用另一个脚本连接节点时,cypher-shell 会冻结或挂起,而不会提供任何有关其进度的信息。创建(双向)连接的脚本由两部分组成:一个用于匹配节点,另一个用于创建相应的连接。我还事先在名为“image_id”的节点属性上创建了一个索引。

在第一个脚本中创建节点的命令示例如下所示:

-- create_nodes.txt:

CREATE (i_20040:Image {image_id: 'MDteiLH1CZY', image_name: 'SetA_MDteiLH1CZY.jpg', cluster: 99})

而创建连接的示例如下所示:

-- create_edges.txt:

(来自匹配部分) MATCH (node_0: Image {image_id: '-kBXeZqJtMY'})

(然后从连接部分) MERGE (node_0)-[:IS_SIMILAR]->(node_1) MERGE (node_1)-[:IS_SIMILAR]->(node_0)

大约有 40K 连接要创建。我正在从 Neo4j 桌面(Windows 10)中的终端运行 cypher-shell,如下所示:

> cypher-shell -f create_edges.txt

我将不胜感激任何有关我遗漏或做错的提示。谢谢!

0 投票
0 回答
44 浏览

neo4j - 将 cypher-shell 输出导出到 csv 不起作用

我有一个 MATCH 查询,它没有在 Neo4j 浏览器中运行,因为输出太大。

我遵循了网上的建议,并能够使用终端 ssh 进入 cypher-shell。

我能够运行查询,但输出没有用:

看起来像这样

“数据” | “数据” | 数据 |

我为此查看了所有类似的帖子,并找到了两种导出数据的解决方案:

  1. 从https://github.com/jexp/neo4j-shell-tools导入导出

无效输入“i”:预期(第 2 行,第 1 列(偏移量:1))“import-cypher -d, -o test.csv MATCH (o:Organisation) RETURN o LIMIT 1;” ^

  1. CALL apoc.export.csv.query("MATCH (o:Organisation) RETURN o LIMIT 1", "result.csv", null)

我已经尝试了所有在线建议,包括

一世。在 neo4j.conf 底部添加

ii. 添加一个 apoc.conf 文件

我仍然收到以下错误:

Neo.ClientError.Procedure.ProcedureCallFailed 调用过程失败apoc.export.csv.query:原因:java.lang.RuntimeException:导出到未启用的文件,请在您的 apoc.conf 中设置 apoc.export.file.enabled=true

我通过在 Finder 中打开 Neo4j 示例项目找到了 conf 目录。

有没有可能我没有编辑正确的 conf 文件?或者可能是授权问题,因为有问题的数据库位于 EC2 实例上?

Neo4j 浏览器版本:4.3.1

Neo4j 服务器版本:4.1.3(社区)

0 投票
0 回答
19 浏览

neo4j - 当有正在运行的数据库时,为什么 Neo4j 桌面终端会显示“Neo4j 未运行”?

我在 Neo4j Desktop 中启动一个数据库,然后打开Neo4j Desktop Terminal。我观察到:

  1. import-module Neo4j-Management.psd1不起作用。这是可以理解的,因为不能确定 shell 是否是 PowerShell。

  2. neo4j.bat status说 Neo4j 没有运行!?

  3. 即使它说它没有运行,cypher-shell仍然可以按预期工作

你知道这是为什么吗?

相关:Neo4j Desktop 正在运行,但 `neo4j status` 仍然说服务器没有运行?

0 投票
1 回答
22 浏览

cypher - neo4j n-levels的父子关系

我有 10-11 级的父子关系,如下所示,我需要在它们之间创建一个父子关系

数据格式

身份证,父母身份证

1,0

2,1

3,2

4,3

5,4

6,5

到目前为止我尝试了什么?

我使用下面的代码将它们关联为父子

上面代码的结果是创建父子关系,但它们只关联到一个级别,如下图所示(可作为链接提供),我需要一种方法来关联它们并像树一样显示它。3是4的父母,2是4的祖父母,1是1的曾祖父母,谁能帮助我如何实现它?

我上面查询的结果