Hello everyone!
I'm trying to load some csv files to create nodes and relationship.
But there is a problem I can't understand and solve.
Here is an example:
In the file [navtech.csv] I created some 'NavTech' nodes.
GPS系统 is one of them, which navtech_id = 4.
And you can see 全球定位系统's navtech_id = 3.
In the file[r_navtech_navtech_sameas.csv] I created some relationship.
so this is supposed to be [GPS系统 -same_as -> 全球定位系统]
while the result turns out to be:
I couldn't understand since I didn't create this relationship.
and the subclass_of in this picture is in the same situation.
And if click this node, 全球定位系统 still didn't appear.
This happens to many nodes. The relationship I want to create between 2 different node in same label,but it became the relationship between the same 1 node.
Followings are my operations..
CREATE CONSTRAINT constraint_nav IF NOT EXISTS ON (n:Nav) ASSERT n.nav_id IS UNIQUE;
CREATE CONSTRAINT constraint_nav_tech IF NOT EXISTS ON (n:NavTech) ASSERT n.navtech_id IS UNIQUE;
CREATE CONSTRAINT constraint_dev IF NOT EXISTS ON (n:Device) ASSERT n.dev_id IS UNIQUE;
CREATE CONSTRAINT constraint_sensor_type IF NOT EXISTS ON (n:SensorType) ASSERT n.sensortype_id IS UNIQUE;
create nodes.
LOAD CSV WITH HEADERS FROm 'file:///nav.csv' AS line
MERGE (n:Nav {nav_id: line.nav_id}) SET n += line
LOAD CSV WITH HEADERS FROm 'file:///navtech.csv' AS line
MERGE (n:NavTech {navtech_id: line.navtech_id}) SET n += line
LOAD CSV WITH HEADERS FROm 'file:///dev.csv' AS line
MERGE (n:Device {dev_id: line.dev_id}) SET n += line
LOAD CSV WITH HEADERS FROm 'file:///SensorType.csv' AS line
MERGE (n:SensorType {sensortype_id: line.sensortype_id}) SET n += line
create relationship.
LOAD CSV WITH HEADERS FROm 'file:///r_nav_dev.csv' AS line
MATCH (a:Nav {nav_id: line.nav_id})
MATCH (b:Device {dev_id: line.dev_id})
MERGE (a)-[:use]->(b)
LOAD CSV WITH HEADERS FROm 'file:///r_nav_navtech.csv' AS line
MATCH (a:Nav {nav_id: line.nav_id})
MATCH (b:NavTech {navtech_id: line.navtech_id})
MERGE (a)-[:adopt]->(b)
LOAD CSV WITH HEADERS FROm 'file:///r_navtech_dev.csv' AS line
MATCH (a:NavTech {navtech_id: line.navtech_id})
MATCH (b:Device {dev_id: line.dev_id})
MERGE (a)-[:use]->(b)
LOAD CSV WITH HEADERS FROm 'file:///r_navtech_navtech_use.csv' AS line
MATCH (a:NavTech {navtech_id: line.navtech_id})
MATCH (b:NavTech {navtech_id: line.navtech_id})
MERGE (a)-[:use]->(b)
LOAD CSV WITH HEADERS FROm 'file:///r_navtech_navtech_subclassof.csv' AS line
MATCH (a:NavTech {navtech_id: line.navtech_id})
MATCH (b:NavTech {navtech_id: line.navtech_id})
MERGE (a)-[:subclass_of]->(b)
LOAD CSV WITH HEADERS FROm 'file:///r_navtech_navtech_sameas.csv' AS line
MATCH (a:NavTech {navtech_id: line.navtech_id})
MATCH (b:NavTech {navtech_id: line.navtech_id})
MERGE (a)-[:same_as]->(b)
LOAD CSV WITH HEADERS FROm 'file:///r_sensortype_dev.csv' AS line
MATCH (a:SensorType {sensortype_id: line.sensortype_id})
MATCH (b:Device {dev_id: line.dev_id})
MERGE (b)-[:subclass_of]->(a)
Files:
navtech.txt (1.2 KB)
r_nav_dev.txt (458 Bytes)
r_nav_navtech.txt (682 Bytes)
dev.txt (750 Bytes)
nav.txt (32 Bytes)
r_navtech_navtech_subclassof.txt (663 Bytes)
r_navtech_navtech_use.txt (199 Bytes)
r_sensortype_dev.txt (691 Bytes)
r_navtech_dev.txt (257 Bytes)
r_navtech_navtech_sameas.txt (77 Bytes)
SensorType.txt (201 Bytes)
Sorry, my problem is a little troublesome.