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:匹配现有的或创建新的节点和模式。与独特的约束一起使用时,这尤其有用。
  • 相关阅读:
    cookie、 sessionStorage 、localStorage之间的区别和使用
    CSS清除浮动大全共8种方法
    需要了解的前端常用js库
    let与const的区别
    java webservice的多种实现方法汇总
    iframe和frame的区别
    Iframe的应用以及父窗口和子窗口的相互访问
    HTML5标签改变
    flex之组件简单应用
    Flex控件之repeater和radioButton应用
  • 原文地址:https://www.cnblogs.com/cocoxu1992/p/12103600.html
Copyright © 2011-2022 走看看