如何将日期作为长数处理

时间:2014-05-29 09:02:08

标签: neo4j cypher

我正在尝试将Dates存储在数据库的节点上。我使用webadmin和csv导入器加载数据,我的问题是数据保存为字符串,我需要它很长,我已经找到一些方法来转换像toInt()但没有等效的long类型。

我有一个包含两个日期字段的节点,ArrivalDate和DepartureDate,它是csv文件中的长号,但是一旦在neo4j中执行查询,该字段将存储为字符串。问题是我无法进行查询来比较日期,因为它们是字符串,我想要运行的示例查询是这样的:

match(p:Person)--(s:Stay)
where (s.ArrivalDate)<=634924360000000000 and s.DepartureDate>=634924360000000000)

所以我会让所有人留在那个日期。

我做了一些研究,并且在此之前也问过,也许这个问题解释得不好。

对于参考:我正在使用webadmin为批量加载加载csv文件,但我的应用程序在c#中,我使用neo4jclient来处理数据库。

1 个答案:

答案 0 :(得分:1)

Neo4j 2.1(即将发布的很快)有一个Cypher命令LOAD CSV。您可以使用toInt函数在导入期间将字符串转换为数值。例如:

LOAD CSV WITH HEADERS FROM 'file:/mnt/teamcity-work/42cff4ac2707ec23/target/community/cypher/docs/cypher-docs/target/docs/dev/ql/load-csv/csv-files/file.csv'
  AS line
CREATE (:Artist { name: line.Name, year: toInt(line.Year)})