我对两种不同的节点类型具有属性。该属性是1和1.0。我想将这些节点与基于此共享属性的关系连接起来。大约有4500万个节点可以连接到另外120万个节点。我生成了以下查询来执行此操作,但它始终返回(no changes, no records)
。有人知道这样做的最佳方法吗?查询如下。
MATCH(p:Post),(t:Thread) 存在(p.post_reply_number)和存在(t.pos)和p.post_reply_number = t.pos的地方(p)-[r:FIRST_POST]->(t)
答案 0 :(得分:0)
我猜数据类型不一致。其中一个属性是字符串,另一个属性是double(float)。您可以使用toFloat函数将字符串转换为float,然后查询即可工作。
MATCH (p:Post),(t:Thread)
WHERE EXISTS (p.post_reply_number)
AND EXISTS (t.pos)
AND toFloat(p.post_reply_number)=t.pos
CREATE (p)-[r:FIRST_POST]->(t)
我尝试使用数据类型int(post_reply_number)和float(pos)创建示例节点/属性,并且您的查询有效。