Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j-toInt负载转换CSV_Neo4j - Fatal编程技术网

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

我知道这是我过度关注的事情。谢谢