修改密码

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

修改昵称

当前昵称:
提交

申请证书

证书详情

Please complete this required field.

  • Ultipa Blaze (v4)
  • Ultipa Powerhouse (v5)

Standalone

点击

了解 Ultipa Powerhouse (v5)架构中的四大组成部分。

Please complete this required field.

Please complete this required field.

Please complete this required field.

Please complete this required field.

如果不需要 HDC 服务,则此项留空。

Please complete this required field.

如果不需要 HDC 服务,则此项留空。

Please complete this required field.

Please complete this required field.

所有服务器的MAC地址,由换行符或逗号分隔。

Please complete this required field.

Please complete this required field.

取消
申请
ID
产品
状态
核数
Shard 服务最大数量
Shard 服务最大总核数
HDC 服务最大数量
HDC 服务最大总核数
申请天数
审批日期
过期日期
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.2
搜索
    v5.2

      谓词

      谓词指定一个条件,并评估该条件以给出布尔值(真或假)。

      所有谓词

      分类
      谓词
      比较谓词 =<>(或!=),><>=<==~
      Exists谓词 EXISTS
      None谓词 NONE
      Null谓词 IS NULLIS NOT NULL
      Normalized谓词 IS NORMALIZED, IS NOT NORMALIZED
      Labeled谓词 IS LABELEDIS NOT LABELED:
      Property Exists谓词 PROPERTY_EXISTS
      值类型谓词 IS TYPEDIS NOT TYPED
      布尔值谓词 IS TRUE, IS FALSE
      All Different谓词 ALL_DIFFERENT
      Same谓词 SAME
      Source/Destination谓词 IS SOURCE OF, IS NOT SOURCE OF, IS DESTINATION OF, IS NOT DESTINATION OF
      Directed谓词 IS DIRECTED, IS NOT DIRECTED

      比较谓词

      比较两个值或表达式,返回真或假。GQL支持以下比较谓词:

      • 等于:=
      • 不等于:<>(或!=
      • 大于:>
      • 小于:<
      • 大于等于:>=
      • 小于等于:<=
      • 正则匹配:=~

      ><>=<=只能与数值、文本值、时态值、布尔值和null值一起使用。

      可比较的值

      在GQL中,如果两个值可以使用比较运算符进行有意义的评估,则它们被视为可比较的值。可比较的值包括两类:

      • 本质上可比较的值:指类型相同的值(如两个字符串、两个日期)或同一类别中紧密相关的类型(如整数与浮点数)。这些值可以直接进行比较。
      • 通用可比较的值:指属于不同类别但仍可通过隐式类型转换进行比较的值。例如,将整数12与字符串"13ab"进行比较时,系统会尝试先将字符串转换为数字后再进行评估。

      比较数值

      RETURN 30.1 > 30 // true
      

      比较文本值

      通过两个文本中第一个不同的字符(从左到右)决定比较结果。字符的比较依据其Unicode值进行。

      RETURN "campus" < "camera" // false
      

      这个查询返回假,因为它们的首个不同字符分别是pe, 而p的Unicode值(112)大于e的Unicode值(101)。

      LET email = "johndoe@gmail.com"
      RETURN email =~ "[a-zA-Z0-9_.-]+@[a-zA-Z0-9]+\.(com|cn)" // true
      

      这个查询返回真,因为email值符合指定的邮箱地址格式。

      比较时间值

      时间值在GQL中被视为数值处理,因为时间是以秒、小时、天和年等单位衡量的。GQL在比较两个时间值时,基于它们之间的持续时间(即时间点之差)进行判断:若持续时间为0,则两者相等;若为负,则左值较小;否则,左值较大。

      // p1.birthday is 1987-10-01, p2.birthday is 1987-10-02
      MATCH (p1 {name: "Alex"}), (p2 {name: "Joy"})
      RETURN p1.birthday < p2.birthday // true
      

      比较列表值

      如果两个列表包含相同的元素,并且顺序完全相同,则它们相等。

      RETURN [1,2,3] = [1,2,3] // true
      

      RETURN [] = [] // true
      

      RETURN [1,2,3] = [1,3,2] // false
      

      比较记录值

      如果两个记录具有相同的字段和相同的值,则它们相等。

      RETURN {a:1, b:2} = {a:1, b:2} // true
      

      RETURN {a:1, b:2} = {a:2, b:2} // false
      

      RETURN {a:1} = {b:1} // false
      

      比较路径

      路径类似于列表,因为路径本质上是点和边组成的序列。

      MATCH p1 = (:User {name: "mochaeach"})-[:Joins]->(:Club {_id: "C02"})
      MATCH p2 = (:User {name: "mochaeach"})-[:Joins]->(:Club {_id: "C02"})
      RETURN p1 = p2 // true
      

      MATCH p1 = (:User {name: "mochaeach"})-[:Joins]->(:Club {_id: "C02"}) 
      MATCH p2 = (:Club {_id: "C02"})<-[:Joins]-(:User {name: "mochaeach"})
      RETURN p1 = p2 // false
      

      比较点或边

      点和边类似记录一样处理,其中属性名称作为键,属性值作为数据。

      MATCH  (n1:User {name: "mochaeach"}), (n2:Club {_id: "C02"})
      RETURN n1 = n2 // false
      

      比较文本值和数值

      GQL比较文本值与数值时,系统尝试将文本值完全转换为数值。当且仅当文本值是有效的数字格式时,可成功转换。例如:

      • " 123 "123
      • "-2"-2
      • "+2.3"2.3

      如果文本值不是有效的数字格式,例如"1-abc"则转换失败,文本值视为0

      RETURN "-2.9" > -3 // true; converts "-2.9" to 2.9
      

      RETURN "11a" > 10 // false; converts "11a" to 0
      

      比较文本值和时间值

      在GQL中,文本可以通过隐式转换为时间类型与时间值进行比较。这种行为类似于文本与数字的比较。为了成功转换文本,它必须:

      • 遵循ISO 8601标准中日期、日期时间或持续时间的格式。
      • 能被转换为与另一个操作数类型匹配的时间值。

      // p.birthday is 1987-10-01
      MATCH (p1 {name: "Alex"}), (p2 {name: "Joy"})
      RETURN p1.birthday < "1987-10-02" // true
      

      比较布尔值和其他值

      布尔值可以通过隐式类型转换与其他数据类型进行比较,例如数字或文本值。

      RETURN true = 1 // true
      

      RETURN false = 0 // true
      

      RETURN true = "true" // false
      

      Exists谓词

      EXISTS谓词用来判断指定的图模式或查询是否有结果返回。如果发现匹配数据,谓词判断结果为真,否则为假。

      <exists predicate> ::= 
        "EXISTS" {
            "{" <graph pattern> "}"
          | "(" <graph pattern> ")"
          | "{" { <match statement>... } "}"
          | "(" { <match statement>... } ")"
          | "{" <query specification> "}"
        }
      

      判断图中是否存在以点A为起点的路径:

      RETURN EXISTS {
        MATCH ({_id: "A"})->()
      }
      

      MATCH关键词可以省略,此时EXISTS只包含图模式;同时可使用WHERE子句设定条件:

      RETURN EXISTS {
        (n)->() WHERE n._id = "A"
      }
      

      EXISTS也可在MATCH语句的WHERE子句中使用:

      MATCH (n:movie)
      WHERE n.rating > 7.5 AND EXISTS {
        MATCH (n)<-[:direct]-(m)
        WHERE m.name = "Ang Lee"
      }
      RETURN n.name
      

      判断列表中是否有元素大于3:

      RETURN EXISTS {
        FOR item in [1,2,3]
        FILTER item > 3
        RETURN item
      }
      

      判断检索到的点是否具有name属性;请注意,即使name值为null,它也返回真:

      MATCH (n:Paper {_id: "book92"}) LIMIT 1
      RETURN EXISTS(n.name)
      

      None谓词

      NONE谓词用来判断指定的图模式或查询是否无任何结果返回。如果没有发现任何匹配数据,谓词判断结果为真,否则为假。

      <none predicate> ::= 
        "NONE" {
            "{" <graph pattern> "}"
          | "(" <graph pattern> ")"
          | "{" { <match statement>... } "}"
          | "(" { <match statement>... } ")"
          | "{" <query specification> "}"
        }
      

      判断图中是否不存在以点A为起点的路径:

      RETURN NONE {
        MATCH ({_id: "A"})->()
      }
      

      MATCH关键词可以省略,此时NONE只包含图模式;同时可使用WHERE子句设定条件:

      RETURN NONE {
        (n)->() WHERE n._id = "A"
      }
      

      NONE也可在MATCH语句的WHERE子句中使用:

      MATCH (n:movie)
      WHERE n.rating > 7.5 AND NONE {
        MATCH (n)<-[:direct]-(m)
        WHERE m.name = "Ang Lee"
      }
      RETURN n.name
      

      判断列表中是否没有任何元素大于3:

      RETURN NONE {
        FOR item in [1,2,3]
        FILTER item > 3
        RETURN item
      }
      

      Null谓词

      判断值是否为null。GQL支持以下Null谓词:

      • IS NULL
      • IS NOT NULL

      本条查询获取每个Paper点的title,前提是title属性值非null,否则返回信息TITLE NOT FOUND

      MATCH (n:Paper)
      RETURN CASE 
        WHEN n.title IS NOT NULL THEN n.title
        ELSE "TITLE NOT FOUND"
      END
      

      Normalized谓词

      判断字符串是否规范化。GQL支持以下Normalized谓词:

      • IS [ <normal form> ] NORMALIZED
      • IS NOT [ <normal form> ] NORMALIZED

      详情

      • <normal form>规范化形式默认为NFC。其他可用规范化形式包括NFDNFKCNFKD

      RETURN "Å" IS NORMALIZED AS normRes
      

      结果:

      normRes
      1

      RETURN "Å" IS NFD NORMALIZED AS normRes
      

      结果:

      normRes
      0

      Labeled谓词

      判断图元素是否满足标签表达式。GQL支持以下Labeled谓词:

      • IS LABELED
      • IS NOT LABELED
      • :

      MATCH (n) WHERE n IS NOT LABELED Paper
      RETURN n
      

      MATCH (n) WHERE n:Paper
      RETURN n
      

      Property Exists谓词

      PROPERTY_EXISTS谓词用来判断引用的图元素是否具有指定的属性,而不管其值如何。这意味着即使属性值为null,它也返回真。

      MATCH (n:Paper) LIMIT 1
      RETURN PROPERTY_EXISTS(n, "name")
      

      值类型谓词

      判断指定值是否为特定类型。GQL支持以下值类型谓词:

      • IS TYPED <value type>
      • IS NOT TYPED <value type>

      详情

      • 目前<value type>支持以下数据类型关键字:STRINGBOOL

      RETURN "a" IS TYPED BOOL AS typeCheck
      

      结果:

      typeCheck
      false

      布尔值谓词

      用来判断布尔表达式或变量是否真实,即判断其为真还是为假。GQL支持一下布尔值谓词:

      • IS TRUE
      • IS FALSE

      RETURN 1 > 2 IS TRUE
      

      结果:

      1 > 2 IS TRUE
      0

      All Different谓词

      ALL_DIFFERENT谓词判断绑定到元素变量列表的所有图元素是否彼此成对不同。

      MATCH (n1 {_id:"P1"})
      MATCH ({_id:"P1"})-(n2)
      MATCH ({_id:"P3"})-(n3)
      RETURN table(n1._id, n2._id, n3._id, ALL_DIFFERENT(n1, n2, n3))
      

      结果:

      n1._id n2._id n3._id
      ALL_DIFFERENT(n1, n2, n3)
      P1 P2 P2 0

      Same谓词

      SAME谓词判断所有元素变量是否绑定到同一个图元素。

      MATCH ({_id:"P1"})-(n1)
      MATCH ({_id:"P3"})-(n2)
      RETURN table(n1._id, n2._id, SAME(n1, n2))
      

      结果:

      n1._id n2._id SAME(n1, n2)
      P2 P2 1

      Source/Destination谓词

      判断点是否为边的起点或终点。GQL支持以下Source/Destination谓词:

      • <node reference> IS SOURCE OF <edge reference>
      • <node reference> IS NOT SOURCE OF <edge reference>
      • <node reference> IS DESTINATION OF <edge reference>
      • <node reference> IS NOT DESTINATION OF <edge reference>

      MATCH (n {_id: "P1"}), ()-[e:Cites]->() WHERE n IS SOURCE OF e
      RETURN e
      

      Directed谓词

      判断边变量是否与有向边绑定。GQL支持以下Directed谓词:

      • IS DIRECTED
      • IS NOT DIRECTED

      详情

      • 嬴图数据库中创建的所有边均为有向边。

      MATCH ()-[e]-()
      RETURN e IS DIRECTED
      

      结果:

      e IS DIRECTED
      1
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写
      隐私政策
      请勾选表示您已阅读并同意。

      Copyright © 2019-2025 北京同心尚科技发展有限公司-保留所有权利 京ICP备19040872号-1