从 cypher neo4j-shell 向控制台输出状态消息
Output status messages to the console from cypher neo4j-shell
我正在 运行 使用 neo4j-shell
进行一些 Neo4j 密码查询。当我导入大型 CSV 文件时,它们的执行时间很长。
我想在导入的每个阶段完成时向控制台输出一些消息,这样我们就可以在 运行 时看到导入进度,而不必等待执行完成。
我检查了 Cypher RefCard,但找不到这方面的示例。 cypher 是否支持输出到 shell 控制台 window?
那太好了,但我认为这不可能。在过去,我曾计算过密码查询的数量,然后计算终端中成功消息的数量 (ugh ;)
你最好的选择可能是编写一个脚本,将密码查询一个接一个地传输到 shell 并在两者之间输出。
(另外,您可能已经涵盖了这一点,但为了帮助缓慢导入,请记住创建适当的索引和 avoid the eager!)
我发现这是一个非常有趣的话题。 IMO 以强大的方式实现它的最佳方法是编写服务器插件:
您创建了一个实现 TransactionEventHandler interface
的 TransactionEventHandler
您收到一个 TransactionData 代表在交易期间发生的变化
可以将变化转化为json
最后写入日志
激活附加程序中的日志
嗯...好的。你可以输入 RETURN 语句来给你一个线索,例如
load cvs with headers from 'file1.csv'
return 'file1'
load cvs with headers from 'file2.csv'
return 'file2'
等等
我使用 RETURN
完成了此操作。但是每个 RETURN
值都打印了两次!
不确定那里到底发生了什么。但是对于调试来说没问题。
RETURN "Removing existing data...";
MATCH (n)
DETACH DELETE n;
RETURN "Existing data removed";
"Return" 字符串被打印两次,因为第一次是 header,第二次是内容。您可以使用 "AS" 和反引号来更改 header 以使其看起来更好:
MATCH (n)
DETACH DELETE n;
RETURN "Existing data removed" AS `Action:`;
更好的是,您可以将操作输出与消息结合起来:
MATCH (n)
DETACH DELETE n
RETURN count(n) AS `Existing data removed:`;
我正在 运行 使用 neo4j-shell
进行一些 Neo4j 密码查询。当我导入大型 CSV 文件时,它们的执行时间很长。
我想在导入的每个阶段完成时向控制台输出一些消息,这样我们就可以在 运行 时看到导入进度,而不必等待执行完成。
我检查了 Cypher RefCard,但找不到这方面的示例。 cypher 是否支持输出到 shell 控制台 window?
那太好了,但我认为这不可能。在过去,我曾计算过密码查询的数量,然后计算终端中成功消息的数量 (ugh ;)
你最好的选择可能是编写一个脚本,将密码查询一个接一个地传输到 shell 并在两者之间输出。
(另外,您可能已经涵盖了这一点,但为了帮助缓慢导入,请记住创建适当的索引和 avoid the eager!)
我发现这是一个非常有趣的话题。 IMO 以强大的方式实现它的最佳方法是编写服务器插件:
您创建了一个实现 TransactionEventHandler interface
的 TransactionEventHandler
您收到一个 TransactionData 代表在交易期间发生的变化
可以将变化转化为json
最后写入日志
激活附加程序中的日志
嗯...好的。你可以输入 RETURN 语句来给你一个线索,例如
load cvs with headers from 'file1.csv'
return 'file1'
load cvs with headers from 'file2.csv'
return 'file2'
等等
我使用 RETURN
完成了此操作。但是每个 RETURN
值都打印了两次!
不确定那里到底发生了什么。但是对于调试来说没问题。
RETURN "Removing existing data...";
MATCH (n)
DETACH DELETE n;
RETURN "Existing data removed";
"Return" 字符串被打印两次,因为第一次是 header,第二次是内容。您可以使用 "AS" 和反引号来更改 header 以使其看起来更好:
MATCH (n)
DETACH DELETE n;
RETURN "Existing data removed" AS `Action:`;
更好的是,您可以将操作输出与消息结合起来:
MATCH (n)
DETACH DELETE n
RETURN count(n) AS `Existing data removed:`;