Cypher中的类型转换

时间:2014-05-02 14:48:09

标签: neo4j cypher

我正在与同事的数据库一起工作,在某些情况下,他们将整数值存储为字符串。是否可以在Cypher中将字符串转换为数字类型?如果没有,是否可以将其添加到功能路线图中?

我想使用Cypher查询返回具有某个属性值大于100的节点。我的示例查询如下所示:(获取为同一项目收费> 100小时的人员列表)。 / p>

match (p1)-[r1:charged_project]->(proj)<-[r2:charged_project]-(p2) 
      where p1 <> p2 and 
      r1.hours > 100 and r2.hours > 100 
      return p1, proj, p2 limit 10;

由于某些r1.hours是字符串,因此导致此错误。

IncomparableValuesException: Don't know how to compare that. 
Left: "16" (String); Right: 100 (Long)

I am aware there's a similar question out there about this - 但解决方法是Integer - &gt;字符串转换,可以由str()完成。这对我不起作用,我想我需要相当于java的Long.parseLong

1 个答案:

答案 0 :(得分:2)

自Neo4j 2.0.3起,字符串有toInttoFloat函数,请参阅http://docs.neo4j.org/chunked/stable/query-functions-scalar.html#functions-toint