I have a query of this form creating a new node in neo4j:
cypher.get_or_create_indexed_node(index="person", key="name", value="Fred", properties={"level" : 1}
However, when I query Fred to inspect his properties, his level = "1" /with quotes/. It appears something is converting his value to a string. This wouldn't matter much---I could convert it on retrieval if necessary---except when I try to do cypher queries like...
start b = node:person("*:*") RETURN b.level, ID(b) ORDER BY b.level desc SKIP 5 LIMIT 5;
...I notice that b.level is not being ordered as expected. I'm seeing something like:
==> +-------------------------+
==> | b.level | ID(b) |
==> +-------------------------+
==> | "3" | 42 |
==> | "0" | 53 |
==> | "2" | 57 |
==> | "0" | 63 |
==> | "2" | 20 |
==> +-------------------------+
when I expect something like:
==> +-------------------------+
==> | b.level | ID(b) |
==> +-------------------------+
==> | 3 | 42 |
==> | 2 | 20 |
==> | 2 | 57 |
==> | 0 | 63 |
==> | 0 | 53 |
==> +-------------------------+
I assume this is a data-type issue, since the reference manual shows skip/limit functionality.
Is it the case that all values are strings, or that there's something else I should add to input correctly?