您的位置:首页 > 其它

neo4j cypher语句

2016-03-25 13:00 190 查看
neo4j最简单的query语句模块包括三个部分:START/MATCH/RETURN

用下面的语句寻找user=’michael’的朋友们:

START a=node:user(name='Michael')
MATCH (a)-[:KNOWS]->(b)-[:KNOWS]->(c), (a)-[:KNOWS]->(c)
RETURN b, c


让我们一起看看这三个语法详细情况.

START

START指定图谱中一个或多个nodes或relationships的头位置,这些所谓的头位置可以通过检索数据库或指定ID得到。

在上面的例子里面,我们寻找一个user的头节点,通过在数据库里检索name的属性为‘Michael’的人。这里返回一个标记,记录为a,在剩下的query中,都会用这个a来当做头位置进行操作。

MATCH

relationship用—>和<—表示,实际上是用<和>表示关系方向。上面代码描述了3个nodes,a/b/c,使用的relationship为KNOWS.这样的表达方法在图数据库里几乎贯穿始终。此句表达的是,a认识b,b认识c,a认识c

RETURN

将b和c返回到用户端,这里可以包含b和c的属性

其他语法

WHERE

CREATE and CREATE UNIQUE

DELETE

SET

FOREACH

UNION

WITH

上面的操作和SQL对应的含义几乎一样
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: