Neo4j 如何在cypher中键入设置值
我提出以下问题Neo4j 如何在cypher中键入设置值,neo4j,cypher,Neo4j,Cypher,我提出以下问题 neo4j-sh (?)$ start n=node(*) match n-[r:LIKES]->items with r,items set r.w= (r.ct-items.med)/items.iqr return r,items; ==> +-----------------------------------------------------------------------------------+ ==> | r
neo4j-sh (?)$ start n=node(*) match n-[r:LIKES]->items with r,items set r.w= (r.ct-items.med)/items.iqr return r,items;
==> +-----------------------------------------------------------------------------------+
==> | r | items |
==> +-----------------------------------------------------------------------------------+
==> | :LIKES[293] {ct:3,w:-0.6666666666666666} | Node[255]{name:"f1",iqr:6.0,med:7} |
==> | :LIKES[294] {ct:13,w:1} | Node[256]{name:"f2",iqr:5,med:7} |
==> | :LIKES[295] {ct:1,w:-0.7692307692307693} | Node[257]{name:"f3",iqr:3.25,med:3.5} |
==> | :LIKES[304] {ct:3,w:0} | Node[256]{name:"f2",iqr:5,med:7} |
==> | :LIKES[305] {ct:10,w:0.5} | Node[255]{name:"f1",iqr:6.0,med:7}
==> | :LIKES[308] {ct:9,w:0.4} | Node[259]{name:"f5",iqr:7.5,med:6.0} |
==> | :LIKES[313] {ct:2,w:-1} | Node[256]{name:"f2",iqr:5,med:7} |
==> | :LIKES[314] {ct:3,w:-0.6666666666666666} | Node[255]{name:"f1",iqr:6.0,med:7} |
==> +-----------------------------------------------------------------------------------+
为什么当r.w的值大于1时,它会四舍五入到最接近的整数?我试着把它打成两倍,但我得到了错误。那么,正确的set命令是什么?使用浮点使其进行浮点运算:
start n=node(*) match n-[r:LIKES]->items with r set r.w= (r.ct-1.0)/5.0 return r;
不,1和5不是常数,它们是从items属性中得到的整数值,也许我应该编辑我的帖子。然后将它们乘以1.0,强制数学是基于浮点的。最终我们会在cypher上增加施法,但现在还没有。