问题标签 [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.
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 文档但我没有得到它。谢谢!
neo4j - 我可以使用 1 个密码命令从 csv 文件加载节点和关系吗?
我有 2 个 csv 文件,我正在尝试使用 cypher 将它们加载到 Neo4j 数据库中:drivers.csv 包含每个公式 1 驱动程序和 laptimes.csv,它存储 F1 中的每一圈。
我已经设法加载了所有节点,虽然单圈时间文件非常大,所以花了很长时间!然后我尝试在之后添加关系,但是需要添加的东西太多了,我放弃了等待(它花了好几天,仍然没有完全加载)。
我很确定有一种方法可以同时加载节点和关系,这将允许我对我现在无法执行的关系使用定期提交。本质上,我只需要将 2 个命令合二为一,经过一些尝试,我似乎无法弄清楚该怎么做?
提前感谢您的帮助!
neo4j - 当 Neo4j 程序从 Neo4j 浏览器调用但不是从 cypher-shell 调用时,OOME 失败后重试
我已将 Java 方法作为插件中的标准存储过程部署到 dockerized Neo4j 中。该方法为某个标签的所有节点设置新属性。它因 OutOfMemoryError 而失败,因为 JVM 堆的大小不适合在单个事务中提交所有内容。
让我们调用该方法:
- 当从 localhost:7474 上的 Neo4j 浏览器调用该方法时,该方法退出,但随后又被调用:
- 当我
docker exec
进入 Neo4j 容器并从 调用方法时cypher-shell
,该方法也因 OOME 而失败,但没有重复调用。
为什么从 Neo4j 浏览器调用该方法两次?是否有一些文档或源代码链接来支持这种行为的推理?
(请注意,问题不是如何修复 OOME,目前它已成功修复为批量处理,类似于apoc.periodic
打包。)
neo4j - 无法通过密码外壳使用 neo4j 方案连接到 Neo4j 集群
我想从我的本地机器连接到我的 Neo4j 服务器。Neo4j 服务器由 3 个实例组成,因为它是一个集群。使用浏览器,我可以使用连接方案连接到集群:neo4j://localhost:7687 但使用 cypher-shell,我只能通过螺栓方案连接。
这是一个问题,因为我希望我连接的实例知道集群,如果我理解正确,螺栓方案不允许这样做。
我通过隧道进入 K8s 节点和端口转发 7687 连接到 Neo4j。这就是我的连接方式:
如您所见,即使我通过neo4j 方案连接,连接也会落到螺栓上。
c# - Neo4j 中的小于运算符问题
>,=
正在工作,但少于操作员不在密码 neo4j 中工作。
可能是什么原因?
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
我将不胜感激任何有关我遗漏或做错的提示。谢谢!
neo4j - 将 cypher-shell 输出导出到 csv 不起作用
我有一个 MATCH 查询,它没有在 Neo4j 浏览器中运行,因为输出太大。
我遵循了网上的建议,并能够使用终端 ssh 进入 cypher-shell。
我能够运行查询,但输出没有用:
看起来像这样
“数据” | “数据” | 数据 |
我为此查看了所有类似的帖子,并找到了两种导出数据的解决方案:
无效输入“i”:预期(第 2 行,第 1 列(偏移量:1))“import-cypher -d, -o test.csv MATCH (o:Organisation) RETURN o LIMIT 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(社区)
neo4j - 当有正在运行的数据库时,为什么 Neo4j 桌面终端会显示“Neo4j 未运行”?
我在 Neo4j Desktop 中启动一个数据库,然后打开Neo4j Desktop Terminal。我观察到:
import-module Neo4j-Management.psd1
不起作用。这是可以理解的,因为不能确定 shell 是否是 PowerShell。neo4j.bat status
说 Neo4j 没有运行!?即使它说它没有运行,
cypher-shell
仍然可以按预期工作
你知道这是为什么吗?