美文网首页图数据库Neo4j
Neo4j Cypher Query Language学习(二)

Neo4j Cypher Query Language学习(二)

作者: 布口袋_天晴了 | 来源:发表于2018-07-27 15:58 被阅读108次

    Neo4j是: ·一个开源 ·无Schema ·没有SQL ·图形数据库

    该篇文章主要内容包括:

    1.Neo4j CQL - SET命令:

    2.Neo4j CQL - Sorting排序:

    3.Neo4j CQL - UNION联盟:

    4.Neo4j CQL - LIMIT和SKIP子句:

    5.Neo4j CQL - 合并:

    6.Neo4j CQL - NULL值:

    7.Neo4j CQL - IN操作符:

    8.Neo4j CQL - 图形字体

    9.Neo4j - ID属性

    10..Neo4j - 方向关系



    1.Neo4j CQL - SET命令:

    ·向现有节点或关系添加新属性

    ·更新现有节点或关系的属性值

    SET子句语法

    语法: SET <property-name-list>

    语法: SET 属性名列表

    <property-name-list>语法

    <node-label-name>.<property1-name>,

    <node-label-name>.<property2-name>,

    ......

    <node-label-name>.<propertyn-name>

    先查看一个节点已存在的属性,然后给这个节点添加新属性price

    添加新属性

    为这个节点添加新属性price=100

    更新属性值

    将属性price,更新为998

    2.Neo4j CQL - Sorting排序:

    ·MATCH 搭配 ORDER BY  对返回的结果排序

    ·默认是升序,降序需使用DESC子句

    ORDER BY子句语法

    语法: ORDER BY <property-name-list> [DESC]

    语法: ORDER BY 属性名列表 [DESC]

    先查看Movie标签节点的三个属性title、tagline、released 按照title排序 按照released排序 按照released降序排序

    3.Neo4j CQL - UNION联盟:

    ·它将两组结果中的公共行组合并返回到一组结果中。 避免重复行返回

    ·限制: 列名称应该相同,列的数据类型应该相同

    UNION子句语法

    <MATCH Command1>

    UNION

    <MATCH Command2>

    UNION ALL子句

    它结合并返回两个结果集的所有行成一个单一的结果集。  它返回两节点的重复行

    UNION ALL子句语法

    <MATCH Command1>

    UNION ALL

    <MATCH Command2>

    先自己创建一些节点

    CREATE(p:Person {name:"布口袋_天晴了1",sex:"男",age:18})

    CREATE(p:Person {name:"布口袋_天晴了2",sex:"男",age:16,school:"CQUPT"})

    CREATE(p:Person {name:"布口袋_天晴了2",sex:"男",age:16,school:"CQUPT"})

    CREATE(p:Person {name:"布口袋_天晴了2",sex:"男",age:16,school:"CQUPT"})

    CREATE(p:Person {name:"布口袋_天晴了3",sex:"男",age:26,school:"CQUPT",school:"YANSHAN"})

    当创建两个属性名一样时,该属性也只在数据库中存了一个值 匹配查询1 匹配查询2 UNION ALL 不去重复 UNION  去重

    4.Neo4j CQL - LIMIT和SKIP子句:

    ·LIMIT子句用来过滤或限制查询返回的行数,它修剪结果集定部的结果。

    LIMIT子句语法

    语法: LIMIT <number>

    语法: LIMIT 数量

    SKIP子句语法 (目前这个语法不管用)

    语法: SKIP <number>

    语法: SKIP 数量

    LIMIT 2 SKIP 2  没起作用

    5.Neo4j CQL - 合并:

    Neo4j 使用CQL MEGER命令

    ·创建节点,关系,属性

    ·为从数据库检索数据

    MERGE = CREATE +MATCH

    Neo4j CQL MEGER命令在图中搜索给定模式,如果存在,则返回结果。如果不存在,则它创建新的节点、关系并返回结果。

    Neo4j CQL CREATE命令总是向数据添加新的节点。

    Neo4j CQL MERGE命令将新的节点添加到数据库,只有当它不存时。

    MERGE语法

    MERGE(<node-name>:<label-name> {<property1-name>:<property1-value>,

    ......

    <propertyn-name>:<propertyn-value>})

    MERGE = MATCH + CREATE  有,就不新建,返回;没有,就新建,返回

    6.Neo4j CQL - NULL值:

    Neo4j CQL将空值视为对节点或关系的属性的缺失值或未定义值。

    name born age

    过滤掉name为NULL的项

    WHERE p.name IS NOT NULL 过滤掉名字属性为NULL的项

    过滤判断条件:

    WHERE xxx IS NULL

    WHERE xxx IS NOT NULL

    7.Neo4j CQL - IN操作符:

    IN运算符,提供值的集合。

    IN操作符语法

    语法: IN[<Collection-of-values>]

    查询,返回 IN[  ]  从这里面选择

    8.Neo4j CQL - 图形字体:

    9.Neo4j - ID属性:

    在Neo4j中,“Id”是节点和关系的默认内部属性。 这意味着,当我们创建一个新的节点或关系时,Neo4j数据库服务器将为内部使用分配一个数字。 它会自动递增。   

    10.Neo4j - 方向关系:

    语法上的方向: () - [] -> ()

    参考文章:

    【1】W3Cschool Neo4j教程

    相关文章

      网友评论

        本文标题:Neo4j Cypher Query Language学习(二)

        本文链接:https://www.haomeiwen.com/subject/gxmwmftx.html