我有一个在neo4j中创建一个新节点的表单查询:
cypher.get_or_create_indexed_node(index="person", key="name", value="Fred", properties={"level" : 1}
但是,当我查询 Fred 以检查他的属性时,他的 level = "1" /with quotes/. 似乎有些东西正在将他的值转换为字符串。这无关紧要——如果有必要,我可以在检索时转换它——除非我尝试进行密码查询,比如......
start b = node:person("*:*") RETURN b.level, ID(b) ORDER BY b.level desc SKIP 5 LIMIT 5;
...我注意到 b.level 没有按预期订购。我看到类似的东西:
==> +-------------------------+
==> | b.level | ID(b) |
==> +-------------------------+
==> | "3" | 42 |
==> | "0" | 53 |
==> | "2" | 57 |
==> | "0" | 63 |
==> | "2" | 20 |
==> +-------------------------+
当我期待类似的东西时:
==> +-------------------------+
==> | b.level | ID(b) |
==> +-------------------------+
==> | 3 | 42 |
==> | 2 | 20 |
==> | 2 | 57 |
==> | 0 | 63 |
==> | 0 | 53 |
==> +-------------------------+
我认为这是一个数据类型问题,因为参考手册显示了跳过/限制功能。
是所有值都是字符串,还是我应该添加其他内容来正确输入?