Neo4J Cypher Pattern语法

时间:2015-12-24 20:32:15

标签: neo4j cypher graph-databases

我正在学习Neo4J,并且正在阅读这本书"图形数据库"通过O' Reilly,我遇到了一个描述三个朋友的图形模式,表示为节点,它们之间的关系方向表示谁是谁的朋友。

这是图表 - enter image description here

从图表中我可以理解 - b knows a, c knows a and c knows b

但Cypher的查询模式对我来说并不清楚 -

(a)-[:KNOWS]->(b)-[:KNOWS]->(c), (a)-[:KNOWS]->(c)

在下一节中,他们描述了语法,他们提到了 -

  

使用ASCII字符表示节点和关系,我们绘制   我们感兴趣的数据。我们使用parantheses绘制节点,和   一对破折号和大于号和小于号的画面   关系( - - >和< - - )。 <和>迹象表明关系   方向。

如果是这种情况,(a)-[:KNOWS]->(b)-[:KNOWS]->(c)表示a KNOWS bb KNOWS c(a)-[:KNOWS]->(c)表示a KNOWS c。这不是图中箭头描绘的反面吗?

1 个答案:

答案 0 :(得分:4)

这本书似乎是个错误。显示的图表由

表示
(a)<-[:KNOWS]-(b)<-[:KNOWS]-(c), (c)-[:KNOWS]->(a)

(a)<-[:KNOWS]-(b)<-[:KNOWS]-(c)-[:KNOWS]->(a)