我正在使用以下Cypher查询" Pentaho执行SQL步骤"从" Excel输入"将数据加载到Neo4j数据库中但在加载时,Excel中的某些列中存在空值/空值。执行查询时,请帮我解决问题
查询:
create(i:incident{number_1:{3} })
merge(c:company{sys_domain_1: {1} })
merge(d:parent{domain : {6} })
merge(a:alert {number: {2} })
merge(s:shelf {u_shelve: {5} })
merge(ci:config{cmdb_ci_1:{4} })
merge (d)-[:has_Company] -> (c)
merge (c)-[:has_CI] -> (ci)
merge (ci)-[:has_Incident] -> (i)
merge (i)-[:has_alert] -> (a)
merge (i)-[:has_shelf] -> (s);
我需要创建一个没有空值的节点,例如,如果我正在合并"警报号"为null它在Neo4j中创建空值作为节点所以我需要省略"数字列"
中的空值 merge(a:alert {number: {2} })
先谢谢。
答案 0 :(得分:0)
根据您的需要,有两种可能性。
选项1是使用coalesce将null替换为某个默认值。例如:
MERGE (a:alert { number: coalesce({2}, 1) })
将使用值1
。
另一种选择是使用CASE
表达式documentation here。这将允许您根本不进行合并,除非该值不为空。