Neo4j-toInt负载转换CSV
在Neo4j-toInt负载转换CSV,neo4j,Neo4j,在加载CSV过程中,我使用将一个字段转换为整数,并将其转换为int,虽然我没有收到任何错误(以及数据加载),但该属性仍被视为字符串 下面是我正在运行以填充数据库的代码。我有一个小玩具数据集,你可以参考下面 // Import the HS Cluster nodes USING PERIODIC COMMIT 10000 LOAD CSV WITH HEADERS FROM "https://docs.google.com/spreadsheets/d/11f7-aEN-OURzzPY97Cm8
加载CSV
过程中,我使用将一个字段转换为整数,并将其转换为int
,虽然我没有收到任何错误(以及数据加载),但该属性仍被视为字符串
下面是我正在运行以填充数据库的代码。我有一个小玩具数据集,你可以参考下面
// 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);
但这会产生(没有更改,没有行)
但是,当我将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上运行
任何帮助都将不胜感激。在“期望它工作”部分,您将过滤CSV文件中的属性,而不是节点上的属性:
WHERE row.seqnum = 1 // this is still a string from your CSV file
MATCH (c:Contact {cid: 'some_id_here', seqnum: 1} )
RETURN c
在节点上转换了seqnum
属性,CSV文件保持不变
尝试MATCH
a联系
节点,查看该节点的值是否已转换为int:
WHERE row.seqnum = 1 // this is still a string from your CSV file
MATCH (c:Contact {cid: 'some_id_here', seqnum: 1} )
RETURN c
我知道这是我过度关注的事情。谢谢