你好,我想从Neo4j上的csv文件链接站?

disbfnqx  于 2023-07-31  发布在  其他
关注(0)|答案(1)|浏览(104)

我在Neo4j上加载了一个站csv文件:

LOAD CSV WITH HEADERS FROM 'https://github.com/pauldechorgnat/cool-datasets/raw/master/ratp/stations.csv' AS row
CREATE (:Station {
   nom_clean:row.nom_gare,
   nom_gare: row.nom_gare,
   x: toFloat(row.x),
   y: toFloat(row.y),
   Trafic: toInteger(row.Trafic),
   Ville: row.Ville,
   ligne: row.ligne});

字符串
我想通过加载另一个csv文件来关联它们:

LOAD CSV WITH HEADERS FROM 'https://github.com/pauldechorgnat/cool-datasets/raw/master/ratp/liaisons.csv' AS row
MATCH (s1:Station {nom_gare: row.start})
OPTIONAL MATCH (s2:Station {nom_gare: row.stop})
WHERE s2 IS NOT NULL
MERGE (s1)-[:LIAISON {ligne: row.ligne}]->(s2);


但我有消息(没有更改,没有记录),我没有看到我的订单中的错误?
第一个月

hjqgdpho

hjqgdpho1#

主要问题是,您的站点的唯一ID在row.nom_clean中,但您在row.nom_gare上匹配
这是一个对我有效的版本(但我不知道数据):

LOAD CSV WITH HEADERS FROM 'https://github.com/pauldechorgnat/cool-datasets/raw/master/ratp/stations.csv' AS row
CREATE (:Station {
   nom_clean:row.nom_clean,
   nom_gare: row.nom_gare,
   location: point({y: toFloat(row.y), x: toFloat(row.x)}),
   Trafic: toInteger(row.Trafic),
   Ville: row.Ville,
   ligne: row.ligne});

字符串
以及:

LOAD CSV WITH HEADERS FROM 'https://github.com/pauldechorgnat/cool-datasets/raw/master/ratp/liaisons.csv' AS row
MATCH (s1:Station {nom_clean: row.start})
MATCH (s2:Station {nom_clean: row.stop})
MERGE (s1)-[:LIAISON {ligne: row.ligne}]->(s2);


我将x,y存储为点数据类型。这将允许执行范围和距离查询。
这是一个很小的数据集,对于任何真实的东西,您都需要Station:nom_clean上的索引(或更好的唯一约束
为了保持一致性,我将使用小写或大写的属性名称。Neo4j的推荐是cammelCase。

相关问题