Oli*_*rau 2 csv import boolean neo4j
我目前正在尝试使用Cypher将CSV数据导入Neo4j.
不幸的是,我找不到将某个列(true/false)从String转换为Boolean的方法.当使用例如Case-When构造时,布尔值用于决定是否应该创建节点.
因此我的问题是:我做错了什么?
这是数据:
"UUID", "Name", "IsSelectable"
"1", "Abc", 1
"2", "Def", 0
Run Code Online (Sandbox Code Playgroud)
而cypher声明:
LOAD CSV WITH HEADERS FROM 'file:///<path>' AS row
CREATE (:Category {UUID: row.UUID, Name: row.Name, IsSelectable: ???})
Run Code Online (Sandbox Code Playgroud)
非常感谢奥利弗
Mic*_*ger 12
您可以使用CASE WHEN THEN ELSE END表达式.
请参阅密码参考卡:http://neo4j.com/docs/stable/cypher-refcard
LOAD CSV WITH HEADERS FROM 'file:///<path>' AS row
CREATE (:Category {UUID: row.UUID, Name: row.Name,
IsSelectable: (case row.IsSelectable when 1 then true else false end)})
Run Code Online (Sandbox Code Playgroud)
您可以使用toBoolean将 1/0 转换为 true/false
LOAD CSV WITH HEADERS FROM 'file:///<path>' AS row
CREATE (:Category {
UUID: row.UUID,
Name: row.Name,
IsSelectable: toBoolean(row.IsSelectable)
})
Run Code Online (Sandbox Code Playgroud)