我有一个csv文件:
MyClass::X()
MyDerivedClass::X()
我正在尝试导入此* .csv并创建关系。虽然导入部分成功,但我无法在节点之间分配特殊关系
例如:
name,city,country
aa,london,UK
bd,Berlin,Germany
cr,helsinki,Finland
fe,Washington,US
但是,
(city)-[CAPITAL_OF]->(country) // This works (bw node to node)
现在,我需要在CREATE(state1:State{name=Washington, continent:North America)}
之间创建一个新关系,其中(state1)-[IS_DIFFERENT_TO]->(?)
是华盛顿特区城市(之前创建的节点)。
?
我想用检索到的节点名称
填写USING PERIODIC COMMIT
LOAD CSV WITH HEADERS FROM "file:///DB.csv" AS csvline
MERGE(city:City{name:csvline.city})
MATCH (city:City{name:'Washington'})
RETURN city.name
CREATE(state1)-[:IS_DIFFERENT_TO]->(?)
谢谢
答案 0 :(得分:1)
你返回的是一个像字符串没有节点的名字。 你应该做点什么
0 0 12 1/1 * ? *
或许我没有得到它
答案 1 :(得分:1)
首先,我质疑是否需要IS_DIFFERENT_FROM
关系。据推测,您没有任何同时具有City
和State
标签的节点。因此,即使它们具有相同的name
属性,也应该很容易区分City和State节点。
然而,要回答你问的问题(据我所知):如果City和State节点已经存在,你只需要这样做:
MATCH (city:City {name:'Washington'}), (state:State{name='Washington'})
CREATE (city)-[:IS_DIFFERENT_FROM]->(state);
IS_DIFFERENT_TO
更改为IS_DIFFERENT_FROM
,更加语法化(我的北美耳朵)。:IS_DIFFERENT_FROM
关系。答案 2 :(得分:1)
不是100%清楚你要做什么,或者为什么你特意寻找“华盛顿”,但根据你的问题,这将做你想要的(在当地测试)。
MERGE (washington:City {name:'Washington'})
WITH washington
LOAD CSV WITH HEADERS FROM "file:///DB.csv" AS csvline
MERGE (city:City {name: csvline.city})
WITH city, washington
WHERE city.name <> washington.name
MERGE (city)-[:IS_DIFFERENT_TO]->(washington);