修改密码

请输入密码
请输入密码 请输入8-64长度密码 和 email 地址不相同 至少包括数字、大写字母、小写字母、半角符号中的 3 个
请输入密码
提交

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

服务器的MAC地址

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
申请天数
审批时间
过期时间
MAC地址
申请理由
审核信息
关闭
基础信息
  • 用户昵称:
  • 手机号:
  • 公司名称:
  • 公司邮箱:
  • 地区:
  • 语言:
修改密码
申请证书

当前未申请证书.

申请证书
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

ProductName CreateTime ID Price File
ProductName CreateTime ID Price File

No Invoice

v5.0
搜索
    v5.0

      点模式和边模式

      概述

      点模式和边模式统称为元素模式,它们是路径模式的组成部分。

      点模式

      点模式用于匹配图中的点,以一对圆括号()表示。点模式由三个可选的部分依次组成:

      <node pattern> ::=
        "(" [ <node variable declaration> ]
            [ <label expression> ]
            [ <property specification> | <where clause> ] ")"
      

      最简单的空点模式可以匹配图中的任意点:

      () 
      

      匹配Person点并将其与变量n绑定:

      (n:Person)
      

      匹配属性fullnameage为特定值的点:

      ({fullname: "John Doe", age: 30})
      

      匹配age属性值大于30的Person点,并将其与变量n绑定:

      (n:Person WHERE n.age > 30)
      

      边模式

      边模式用于匹配图中的边,通常两端分别连接点模式使用,实际上形成路径模式。如果边模式两端没有书写点模式,系统假定其两边连接隐式空点模式。

      边模式有两种,分别是完整边模式简写边模式

      <edge pattern> ::= <full edge pattern> | <abbreviated edge pattern>
      

      完整边模式

      完整边模式由一对方括号[]和边方向(左向/入方向、右向/出方向或任意方向)表示。除方向外,完整边模式由三个可选的部分依次组成:

      <full edge pattern> ::=
        <full edge pointing left> | <full edge pointing right> | <full edge any direction>
      
      <full edge pointing left> ::=
        "<-[" <edge pattern filter> "]-"
      
      <full edge pointing right> ::=
        "-[" <edge pattern filter> "]->"
      
      <full edge any direction> ::=
        "-[" <edge pattern filter> "]-"
      
      <edge pattern filter> ::=
        [ <edge variable declaration> ] 
        [ <label expression> ] 
        [ <property specification> | <where clause> ]
      

      匹配图中所有边并将其与变量e绑定:

      ()-[e]->()
      

      匹配属性role有特定值的出方向WorkingIn边,并将其与变量e绑定:

      ()-[e:WorkingIn {role: "Manager"}]->()
      

      匹配score属性值小于2的入边,并将其与变量e绑定:

      ()<-[e WHERE e.score < 2]-()
      

      简写边模式

      简写边模式仅包含边方向(左向/入方向、右向/出方向或任意方向),不支持变量声明或模式过滤。

      <abbreviated edge pattern> ::= "<-" | "->" | "-"
      

      匹配User点可以通过一条出边到达的点:

      (:User)->(n)
      

      匹配图中的所有1步路径:

      p = ()->()
      

      语法元素

      元素变量声明

      点变量和边变量统称为元素变量

      点变量在点模式中声明,位于标签或属性过滤条件前,其变量值表示一组绑定的点。

      变量nPerson点绑定:

      MATCH (n:Person)
      RETURN n.name
      

      边变量在完整边模式中声明,位于标签或属性过滤条件前,其变量值表示一组绑定的边。

      变量eFollows边绑定:

      MATCH ()-[e:Follows]->()
      RETURN e
      

      标签表达式

      标签表达式是布尔谓词,以冒号:或关键字IS开头,在点模式或完整边模式中使用。标签表达式指定一个或多个标签(Schema),当与点或边的标签匹配时,返回真。

      匹配Movie点:

      (m:Movie)
      

      等同于:

      (m IS Movie)
      

      标签表达式可以使用以下运算符组合多个标签:

      运算符 描述 优先级
      () 分组 1(最高)
      ! 非(NOT) 2
      & 与(AND) 3
      | 或(OR) 4

      匹配MovieCountry点:

      (n:Movie|Country)
      

      匹配标签不是LIVING_IN的边:

      ()-[e:!LIVING_IN]-()
      

      匹配标签不是MovieCountry的点:

      (n:!(Movie&Country))
      

      在嬴图数据库中,每个点或边都有且仅有一个标签。因此,以下语句永远无法匹配到点:

      (n:Movie&Country)
      

      通配符%可以用来匹配任何标签:

      (n:%)
      

      属性规范

      属性规范用一对花括号{}包裹一个或多个属性键值对,在点模式或完整边模式中使用,它通过联合相等性,根据属性值来筛选点或边。

      匹配属性typelevel分别有特定值的点:

      (n {type: "Gold", level: 5})
      

      这个点过滤也可以使用WHERE从句实现:

      (n WHERE n.type = "Gold" AND n.level = 5)
      

      WHERE从句

      在点模式或完整边模式里使用WHERE从句能过滤属性。同属性规范相比,WHERE从句能实现更多过滤条件,前者仅支持基于属性键值对的联合相等条件。

      筛选属性level大于3的Card点:

      (c:Card WHERE c.level > 3)
      

      筛选拥有amountcurrency属性且具有特定属性值的边:

      (:Card)-[t WHERE t.amount > 10000 AND t.currency = 'USD']->()
      

      以下查询有语法错误,因为这里将amount视为变量。若要在WHERE从句里指定一个属性,需使用点运算符.引用该属性,如(n:Card WHERE n.amount > 100)

      MATCH p = (:Card WHERE amount > 100)-[]->()
      RETURN p
      

      以下查询有语法错误,因为不能在元素模式里同时使用属性规范和WHERE从句,需改写为(n:Paper WHERE n.author = "Alex" AND n.score > 5)

      MATCH (n:Paper {author: "Alex"} WHERE n.score > 5)
      RETURN n
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写