• 3.3-Cypher语言及语法使用


    Cypher是一种图数据库查询语言,表现力丰富,查询效率高,其地位和作用与关系型数据库中的SQL语言相当。

    Cypher具备的能力:

    • Cypher通过模式匹配图数据库中的节点和关系,来提取信息或者修改数据。

    • Cypher语句中允许使用变量,用来表示命名、绑定元素和参数。

    • Cypher语句可以对节点、关系、标签和属性进行创建、更新和删除操作。

    • Cypher语句可以管理索引和约束。

    Cypher的简单语法:

    • 1、节点语法:采用一对圆括号来表示节点。如: ()
      (foo)

    • 2、关系语法:使用一对短横线表示无方向关系,有方向加箭头。如: -[role]-
      -[:ACTED_IN]->
      -[role:ACTED_IN]->

    • 3、模式语法:将节点和关系的语法组合在一起可以表达模式。如: (keanu: Person: Actor {name: "Keanu Rteves"}-[role:ACTED_IN {roles: ["Neo"]}]->{matrix: Movie {title: "The Matrix"}})

    Cypher处理值支持的类型:

    • 数值、字符串、布尔、节点、关系、路径、映射Map、列表List

    Cypher查询语言中的所有函数:

    • 断言(Predicate)函数、标量(Scalar)函数、列表(List)函数、数学(Math)函数、字符串(String)函数、自定义函数

    Neo4j程序开发模式:

    • Java嵌入式开发模式,Java开发人员完全可以直接在代码中调用Neo4j的API,并将对Neo4j数据库的操作嵌入到Java代码中;

    • 驱动开发模式,使用.net、JavaScript、Python、php等集成的驱动包或驱动库就可以与Neo4j相互对话

    常用的语句

    • 1.创建节点语句

    CREATE (n {name:"张三"}) //创建节点并给节点分配一个属性

    CREATE ({name:"李四"})-[r:have]->({bookname:"设计模式"}) //创建一个关系,给两个节点建立关系指定关系类型、方向和绑定一个变量

    • 2.查询语句

    MATCH (n{name:"张三"}) RETURN n //根据属性匹配节点信息

    MATCH (n:Person)-[:FRIEND]->(m:Person) WHERE n.name = '张三' //匹配节点时指定标签、属性和关系类型

    MATCH (n)-[k:KNOWS]->(f) WHERE k.since < 2000 RETURN f //根据关系属性过滤

    • 3.节点更新和删除

    MATCH (n {name:'张三'}) SET n={age:20} //修改节点信息,覆盖节点属性

    MATCH (n {name:'张三'}) SET n+={age:20} RETURN n //该语句不会删除掉name属性,而是在节点中新增age属性

    MATCH (n{name:'张三'}) remove n.age RETURN n //删除节点属性

    MATCH (a)-[r:KNOWS]->(b) DELETE r,b //删除一个节和关系

    • 4.索引和约束

    CREATE INDEX ON :Person(name) //为"Person"标签的name属性创建索引

    DROP CONSTRAINT ON (n:Person) ASSERT n.name IS UNIQUE //创建节点属性唯一约束

    阅读原文...


  • 相关阅读:
    centos7 安装 nginx
    centos7 安装 mysql
    centos7 安装 python3.7
    nginx添加到系统命令中
    Java多线程6-线程让步
    Java多线程5-线程等待与唤醒
    Java多线程4-synchronized关键字
    Java多线程3-Thread中start和run方法的区别
    Java多线程-2-常用的实现多线程的两种方式
    java多线程1-基础概念
  • 原文地址:https://www.cnblogs.com/jpfss/p/11464782.html
Copyright © 2020-2023  润新知