本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
明确检查属性是否存在
根据 OpenCypher 语义,当访问属性时,它等同于可选联接,即使该属性不存在,也必须保留所有行。如果您根据图表架构知道该实体将始终存在特定的属性,则显式检查该属性的存在可以让查询引擎创建最佳计划并提高性能。
考虑一个图形模型,其中类型的节点person
始终具有属性name
。与其这样做,不如这样做:
MATCH (n:person) RETURN n.name
使用 IS NOT NOT NULL 检查明确验证查询中是否存在属性:
MATCH (n:person) WHERE n.name IS NOT NULL RETURN n.name