标记为 cypher 的文章
关于 OPTIONAL MATCH 的说明
OPTIONAL MATCH 就像 MATCH 一样,会在你的图数据库中匹配模式。不同之处在于,如果没有找到匹配项,OPTIONAL MATCH 将会为……使用 null 值。
apoc 4.0 中 apoc.periodic.iterate() 的重大变更
在 3.5 版本中,实体(节点、关系、路径)可以在一个事务中获取并安全地被另一个事务重用。然而,在 4.0 版本中,这些实体保留了对其原始来源的引用……
使用 Cypher 实现 longestPath(最长路径)
虽然 Cypher 通过 shortestPath() 等功能针对查找两节点间的最短路径进行了优化,但它并没有针对最长路径的类似函数。在……中
笛卡尔积(Cross Product)类型的 Cypher 查询性能不佳
就像 SQL 一样,如果你没有正确连接查询的各个部分,将会导致笛卡尔积(交叉积),这通常不是你想要的结果。以……为例
查询结果中 "consumed after" 消息的解释
通过 Neo4j 浏览器或 cypher-shell 成功执行查询后,你可能会看到一条格式如下的消息伴随查询结果:这提供了以下信息:这些是……
debug.log 中关于“最后检查点之后发现的提交 (Commits found after last checkpoint)”消息的解释
例如,在运行备份时,你可能会在上述命令的输出中观察到类似的细节,并发现从开始 (Start) 到……有较长的停顿(即 5 分钟以上)
错误 "Cannot merge node using null property value for" 的解释
在运行 MERGE(MATCH 和/或 CREATE 的组合)时,如果 MERGE ……,可能会遇到 "Cannot merge node using null property value for" 错误。
关于 LOAD CSV 报错 “Couldn’t load the external resource …” 的解释
当运行 LOAD CSV Cypher 语句时,无论是通过 bin/neo4j-shell 还是浏览器 (https://:7474),都可能会导致如下错误,并且 data/graph.db/messages.log (2.x) 或……
如何用 Cypher 实现等同于 SQL HAVING 子句的功能
在传统的 SQL 数据库中,HAVING 子句将限制聚合值。例如,将返回所有拥有超过 10 万居民的邮政编码。要用 Cypher 实现同样的功能……
如何以十六进制表示法定义 LOAD CSV 的 FIELDTERMINATOR
使用 LOAD CSV 时,可以定义所使用的字段分隔符,默认值为 ',' 字符。如果你想覆盖默认值,可以通过……来实现
如何在 neo4j-shell 中定义、显示和使用参数
bin/neo4j-shell 提供了一个命令行界面,可以通过 Cypher 语句查询你的图,并向这些语句中包含参数。使用参数而不是硬编码值,将……
如何确定 detach delete 将影响的节点和关系数量
在运行 match …. detach delete n; 之前,它将找到上述节点并删除与这些节点关联的所有关系,并删除节点本身……
如何提高计算节点上关系数量的性能
使用 Cypher,可以通过以下方式计算关系数量,这将报告名为 Sylvester Stallone 的演员的传入/传出关系数量。使用 bin/neo4j-shell 并运行……
调用 apoc.cypher.runFile 时如何传递参数
APOC 允许使用存储过程 apoc.cypher.runFile,然后将文件的内容运行到 Cypher 引擎。为了允许在……中读取文件
如何用 Cypher 实现等同于 SQL “Create Table as Select” 的功能
在传统的 SQL RDBMS 中,人们可以执行“create table as select”(即 CTAS),其目的是创建一个新表并将现有数据从……复制到其中
如何通过 cypher-shell 和管道传输查询文件来生成 profile/explain
如果你准备了一个包含 profile 或 explain 子句的 Cypher 语句文件,并且想将该文件通过管道传给 bin/cypher-shell 以生成 profile/explain……
apoc.periodic.iterate 如何处理资源?
apoc.periodic.iterate 是如何工作的?例如,当运行 call apoc.periodic.iterate("MATCH (n) RETURN n", "DETACH DELETE n", {batchSize:1000}) 时,它是否会在 MATCH RETURN 后附加一个 LIMIT,以便它只……
如何利用连接提示(join hints)避免昂贵的遍历
在使用 Cypher 匹配模式时,需要评估的可能路径数量通常与查询执行时间相关。当路径中存在超大节点 (supernode) 时(一个具有……的节点)
如何编写 Cypher 查询以返回每个类别的 Top N 结果
以下 Cypher 描述了如何显示整个 :Score 人口中排名前 5 的测试分数,并按 field_of_study 属性进行细分。运行:将返回……的输出,并且
UNION 后处理
Cypher 不允许对 UNION 或 UNION ALL 结果进行进一步处理,因为联合的所有查询中都需要 RETURN。以下是一些解决方法。Neo4j 中的 UNION 后处理……
了解不存在的属性并使用 null 处理
在 Neo4j 中,由于没有表模式或等效机制来限制可能的属性,因此对于节点和关系属性而言,不存在 (non-existence) 和 null 是等价的。也就是说,实际上没有……
使用子查询控制聚合的作用域
聚合(如 collect() 和 count())在查询计划中显示为 EagerAggregation 运算符(带有深蓝色标题)。它们类似于 Eager 运算符,因为它呈现……
为什么我的 WHERE 子句不起作用?
当 WHERE 子句似乎不起作用时,这可能会令人沮丧。你可以使用这些方法找出问题所在。检查 OPTIONAL MATCH 之后的 WHERE 子句……