2017-01-02 74 views
0

everyoneNeo4j舍入关系

我有两个节点(S1,S2)。

S1是

USING PERIODIC COMMIT 
LOAD CSV with HEADERS FROM "file:/S1.csv" AS line 
CREATE (a:S1 {ID: TOINT (line.ID)}) 
set a.Depth_m   =TOINT (line.depth); 

的S1节点属性vlaues是:

ID  Depth_m 
1  100.06 
2  100.20 
3  100.37 
4  101.29 
5  101.50 
6  101.88 
7  102.42 
8  102.70 
9  102.92 

S2是

USING PERIODIC COMMIT 
LOAD CSV with HEADERS FROM "file:/S2.csv" AS line 
CREATE (b:S2 {ID: TOINT (line.ID)}) 
set b.Depth_m   =TOINT (line.depth); 

的S2节点属性值是:

ID  Depth_m 
1  100.25 
2  101.55 
3  102.75 

所以,我想建立两个节点的值之间的关系,其中S1和S2的值(Depth_m)大致相同(差值小于0.5)。

例如,结果应该是:

S1          S2 

ID  Depth_m       ID  Depth_m 
1  100.20  =======>>   1   100.25 
2  101.50  =======>>   2   101.55 
3  102.70  =======>>   3   102.75 

璨圆来解决这个问题?如果可以做一些事情,我如何使用它?

感谢)

回答

0

这个查询(用于处理S2.csv文件)应该做你想要什么:

USING PERIODIC COMMIT 
LOAD CSV with HEADERS FROM "file:/S2.csv" AS line 
CREATE (b:S2 {ID: TOINT(line.ID), Depth: TOINT(line.depth)}) 
WITH b 
MATCH (a:S1) WHERE ABS(a.Depth-b.Depth) <= 0.5 
CREATE (a)-[:SIMILAR]->(b);