1
在LOAD CSV
期间我将一个字段转换为整数与toInt
,虽然我没有收到任何错误(和数据加载),该属性仍被视为一个字符串。LOAD CSV Neo4j toInt转换
下面是我正在运行的代码来填充数据库。我有一个小玩具数据集,你可以参考下面。
// Import the HS Cluster nodes
USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "https://docs.google.com/spreadsheets/d/11f7-aEN-OURzzPY97Cm8vWZN1lNqYpSmCocNkzAoQe8/pub?gid=0&single=true&output=csv" as row
WITH row
MERGE (s:Student {sid:row.id});
// Import the contacts
// THIS IS THE QUERY THAT I AM USING toINT
USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "https://docs.google.com/spreadsheets/d/11f7-aEN-OURzzPY97Cm8vWZN1lNqYpSmCocNkzAoQe8/pub?gid=0&single=true&output=csv" as row
WITH row
MERGE (c:Contact {cid:row.cid, seqnum: toInt(row.seqnum)});
// Connect the next contacts together
USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "https://docs.google.com/spreadsheets/d/11f7-aEN-OURzzPY97Cm8vWZN1lNqYpSmCocNkzAoQe8/pub?gid=0&single=true&output=csv" as row
WITH row
WHERE row.nextcid <> 'NA'
MERGE (c:Contact {cid:row.cid})
MERGE (n:Contact {cid:row.nextcid})
MERGE (c)-[:NEXT]->(n);
但是当我在另一个查询
// I expected this to work
USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "https://docs.google.com/spreadsheets/d/11f7-aEN-OURzzPY97Cm8vWZN1lNqYpSmCocNkzAoQe8/pub?gid=0&single=true&output=csv" as row
WITH row
WHERE row.seqnum = 1
MERGE (c:Contact {cid:row.cid})
MERGE (s:Student {sid:row.id})
MERGE (s)-[:HAS_CONTACT]->(c);
引用属性的点,但这个产生(no changes, no rows)
然而,当我引用seqnum
作为一个字符串,它可以作为预计
// but have to reference seqnum as a string
USING PERIODIC COMMIT 10000
LOAD CSV WITH HEADERS FROM "https://docs.google.com/spreadsheets/d/11f7-aEN-OURzzPY97Cm8vWZN1lNqYpSmCocNkzAoQe8/pub?gid=0&single=true&output=csv" as row
WITH row
WHERE row.seqnum = '1'
MERGE (c:Contact {cid:row.cid})
MERGE (s:Student {sid:row.id})
MERGE (s)-[:HAS_CONTACT]->(c);
我在想什么?
仅供参考,我正在运行neo4j 2.3.1的社区版本,并在OSX 10.9.5上运行。
任何帮助将不胜感激。
我知道这是什么,我是超好看。谢谢 – Btibert3