通过Pentaho中的Cypher Query删除空值"执行SQL步骤"

时间:2018-03-23 05:54:02

标签: cypher pentaho-spoon

我正在使用以下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} })

先谢谢。

1 个答案:

答案 0 :(得分:0)

根据您的需要,有两种可能性。

选项1是使用coalesce将null替换为某个默认值。例如:

MERGE (a:alert { number: coalesce({2}, 1) })

如果输入的参数为空,

将使用值1

另一种选择是使用CASE表达式documentation here。这将允许您根本不进行合并,除非该值不为空。