apoc.refactor.normalizeAsBoolean
语法 |
|
||
描述 |
将给定属性重构为 |
||
输入参数 |
名称 |
类型 |
描述 |
|
|
其属性将被规范化为布尔值的节点或关系。 |
|
|
|
要规范化的属性键的名称。 |
|
|
|
true 值的可能表示。 |
|
|
|
false 值的可能表示。 |
|
使用示例
本节示例基于以下示例图:
CREATE (:Person {prop: 'Y', name:'A'}),
(:Person {prop: 'Yes', name:'B'}),
(:Person {prop: 'NO', name:'C'}),
(:Person {prop: 'X', name:'D'}),
(:Person {prop: true, name:'E'}),
(:Person {prop: false, name:'F'});
我们希望将某些属性转换为布尔值,其中 Y、Yes 转换为 true,NO 转换为 false。不符合这些可能性的其他属性将设置为 null,这也包括 BOOLEAN 值本身。
以下操作将对所有具有
prop 属性的节点中的所有适用 BOOLEAN 值进行规范化:MATCH (n)
CALL apoc.refactor.normalizeAsBoolean(n,'prop',['Y','Yes'],['NO'])
WITH n
ORDER BY n.id
RETURN n.name AS name, n.prop AS prop;
| 名称 | prop |
|---|---|
"A" |
true |
"B" |
true |
"C" |
false |
"D" |
null |
"E" |
null |
"F" |
null |
如果你想保持 BOOLEAN 值不变,请将它们包含在 trueValues 和 falseValues 参数中。
MATCH (n) CALL apoc.refactor.normalizeAsBoolean(n,'prop',['Y','Yes', true],['NO', false]) WITH n ORDER BY n.id RETURN n.name AS name, n.prop AS prop;
| 名称 | prop |
|---|---|
"A" |
true |
"B" |
true |
"C" |
false |
"D" |
null |
"E" |
true |
"F" |
false |