2015-10-19 136 views
2

我是neo4j的新手,我开始建立节点之间的关系。 Uni方向关系可以正确创建而不会引发任何错误,但双向关系会引发语法错误。 这里去我的查询:Neo4j - 无法添加双向关系

MATCH(a{word:"nothing"}),(b{word:"review"}) 
CREATE a-[r:coocr{val:1}]-(b) 
RETURN r,s 

然后用此结束了:

MATCH(a{word:"nothing"}),(b{word:"review"}) 
CREATE a-[r:coocr{val:1}]->(b) 
CREATE a<-[s:coocr{val:1}]-(b) 
RETURN r,s 

如何减少使用双向关系的节数的关系。

回答

1

Neo4j不支持创建双向关系,但您可以从任一方向进行查询,而不会影响性能。

如果你想表示不同的值/状态去往/来自那么你会想创建一个关系在每个方向。否则,你应该在什么方向创建它使最感(或者擅自在某些情况下)和查询双向这样的:

MATCH (a{word:"nothing"})-[rel:coocr]-(b{word:"review"}) 
RETURN rel 

注意,有没有大于或小于代表箭头的终点。

+0

@Brain安德伍德:谢谢。 –

+0

将属性添加到不影响MATCH的关系(a {word:“nothing”}) - [rel:coocr {val:2}] - (b {word:“review”}) RETURN rel –

+0

您的意思是if你把'{val:2}'放入关系中,它返回val'不是2的关系? –