zoukankan      html  css  js  c++  java
  • Cypher学习笔记

      Cypher是一种声明式图形查询语言,可用于表达性和高效的图形查询和更新。它旨在同时适合开发人员和运营专业人员。Cypher的设计既简单又强大。可以轻松表达高度复杂的数据库查询,使您可以专注于自己的域,而不会迷失在数据库访问中。

      Cypher的结构基于英文散文和简洁的图像,使查询既易于编写,也易于阅读。

      子句链接在一起,并且它们相互之间提供中间结果集。例如,来自一个MATCH子句的匹配变量将是存在下一个子句的上下文。查询语言由几个不同的子句组成。

    • MATCH:要匹配的图形模式。这是从图形中获取数据的最常用方法。
    • WHERE:在自己的权利不是一个条款,但相当一部分MATCHOPTIONAL MATCHWITH。向模式添加约束,或过滤通过的中间结果WITH
    • RETURN:返回什么。
    CREATE (john:Person {name: 'John'})
    CREATE (joe:Person {name: 'Joe'})
    CREATE (steve:Person {name: 'Steve'})
    CREATE (sara:Person {name: 'Sara'})
    CREATE (maria:Person {name: 'Maria'})
    CREATE (john)-[:FRIEND]->(joe)-[:FRIEND]->(steve)

     例如,这是一个查询,该查询在返回“约翰”和找到的任何朋友之前,先找到一个名为“约翰”和“约翰的”朋友(虽然不是他的直接朋友)的用户。

    MATCH (john {name: 'John'})-[:friend]->()-[:friend]->(fof)
    RETURN john.name, fof.name

    接下来,我们将添加过滤以设置更多的运动部件:

    我们获取用户名列表,并从该列表中查找具有名称的所有节点,匹配其朋友,并仅返回具有以'S'开头的'name'属性的跟随用户。

    MATCH (user)-[:friend]->(follower)
    WHERE user.name IN ['Joe', 'John', 'Sara', 'Maria', 'Steve'] AND follower.name =~ 'S.*'
    RETURN user.name, follower.name

    以下是用于更新图形的子句示例:

    • CREATE(和DELETE):创建(和删除)节点和关系。
    • SET(和REMOVE):将值设置为属性,并使用SETREMOVE删除节点上的标签。
    • MERGE:匹配现有的或创建新的节点和模式。与独特的约束一起使用时,这尤其有用。
  • 相关阅读:
    快速排序算法C++实现[评注版]
    浮躁的程序员
    扬长避短使用Windbg和Visual Studio高效调试调试你的代码
    程序员,代码,理想,老男孩
    Windows Server 2008 R2 如何启动kernel dbg进行双机内核调试『续bcdedit 用法详解』
    Windows Server 2008 R2 如何启动kernel dbg进行双机内核调试『配置详解』
    忙着活或忙着死[转]
    SQL2005使用游标的实例(SBO中计算到期应收账款)
    C#编写的Windows计算器源代码
    请登录真正的BBS
  • 原文地址:https://www.cnblogs.com/cocoxu1992/p/12103600.html
Copyright © 2011-2022 走看看