修改密码

请输入密码
请输入密码 请输入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

      数据类型

      所有数据类型

      分类
      支持的类型 支持属性定义
      数值 int32、int64、uint32、uint64、float、double、decimal
      文本 string、text
      时间 datetime、timestamp
      空间 point
      二进制 blob
      真假 bool
      null
      图数据 NODE、EDGE、PATH、GRAPH
      列表 list(以上所有类型的列表形式) 是,仅当元素为数字、文本、时间且不为decimal时
      集合 set(以上除列表之外所有类型的集合形式) 是,仅当元素为数字、文本、时间且不为decimal时
      对象 object
      表格 TABLE

      属性

      创建每一个点或边属性时都需指定数据类型,或使用默认的数据类型(string)。所有支持的属性数据类型如下:

      数据类型
      描述
      int32 有符号32位整数(-2,147,483,648到2,147,483,647)
      uint32 无符号32位整数(0到4,294,967,295)
      int64 有符号64位整数(-9,223,372,036,854,775,808到9,223,372,036,854,775,807)
      uint64 无符号64位整数(0到18,446,744,073,709,551,615 )
      float 32位单精度浮点数,6至7位有效数字(整数和小数部分,不包括小数点)
      double 64位双精度浮点数,15至16位有效数字(整数和小数部分,不包括小数点)
      decimal 需指定精度(范围1~65)和标度(范围0~30)[1],例如,'decimal(10,4)'代表一个共有10位的小数,其中小数点后有4位,小数点前有6位

      注意:设置时必须用引号包裹
      string 不超过60000字节的字符

      注意:这是创建属性时的默认数据类型
      text 长度不限的字符
      datetime 时间日期值,范围从1000-01-01 00:00:00.000000到9999-12-31 23:59:59.499999,以uint64存储

      有效格式包括yyyy-mm-dd hh:mm:ssyyyy-mm-dd hh:mm:ss.ssssss
      timestamp 相对于格林威治时间1970年1月1日0时后的一个时间点,以秒为单位,以uint32存储;时区可通过所选SDK的RequestConfig进行设置

      有效格式包括yyyy-mm-dd hh:mm:ssyyyy-mm-ddyyyymmddhhmmssyyyymmdd
      point 二维坐标,表示一个位置;两个坐标值以double存储
      blob 二进制大对象,用于存储文件、图片、音频、视频等;实际长度受服务器max_rpc_msgsize(默认为4M)设置限制
      list 支持int32[]、int64[]、uint32[]、uint64[]、float[]、double[]、string[]、text[]、datetime[]和timestamp[]

      注意:设置时必须用引号包裹
      set 支持set(int32)、set(int64)、set(uint32)、set(uint64)、set(float)、set(double)、set(string)、set(text)、set(datetime)和set(timestamp)

      注意:设置时必须用引号包裹

      [1]decimal存储的是准确的数字,因此需指定精度和标度。精度是所有数字的位数,包括整数与小数(不包括小数点),标度是小数点后的数字位数。

      返回的数据

      从服务器获取数据并处理后,返回数据的数据类型如下:

      类型
      数据结构
      NODE {id: , uuid: , schema: , values: {...}}
      EDGE {uuid: , schema: , from: , from_uuid: , to: , to_uuid: , values: {...}}
      PATH {length: , nodes: [...], edges: [...]}
      GRAPH {nodes: [...], edges: [...]}
      TABLE {name: , headers: [...], rows: [...]}
      ATTR 除以上类型之外的其他类型

      示例图集:

      NODE

      返回name属性值为Alice的点:

      find().nodes({name == 'Alice'}) as n
      return n{*}
      

      点的数据结构为:

      {
      	"id": "STU001",
      	"uuid": 1,
      	"schema": "student",
      	"values": {
      		"name": "Alice",
      		"age": 25
      	}
      }
      

      EDGE

      返回UUID为53的边:

      find().edges({_uuid == 53}) as e
      return e{*}
      

      边的数据结构为:

      {
      	"uuid": 53,
      	"schema": "studyAt",
      	"from": "STU001",
      	"to": "UNI001",
      	"from_uuid": 1,
      	"to_uuid": 1001,
      	"values": {
      		"start": 2001,
      		"end": 2005
      	}
      }
      

      PATH

      返回从Alice到Oxford的路径:

      n({name == 'Alice'}).e().n({name == 'Oxford'}) as p
      return p{*}
      

      路径的数据结构为:

      {
      	"length": 1,
      	"nodes": [{
      		"id": "STU001",
      		"uuid": 1,
      		"schema": "student",
      		"values": {
      			"name": "Alice",
      			"age": 25
      		}
      	}, {
      		"id": "UNI001",
      		"uuid": 1001,
      		"schema": "university",
      		"values": {
      			"name": "Oxford"
      		}
      	}],
      	"edges": [{
      		"uuid": 53,
      		"schema": "studyAt",
      		"from": "STU001",
      		"to": "UNI001",
      		"from_uuid": 1,
      		"to_uuid": 1001,
      		"values": {
      			"start": 2001,
      			"end": 2005
      		}
      	}]
      }
      

      GRAPH

      返回由从Alice到Oxford的路径转换而成的图:

      n({name == 'Alice'}).e().n({name == 'Oxford'}) as p
      return toGraph(collect(p))
      

      图的数据结构为:

      {
      	"nodes": [{
      		"id": "STU001",
      		"uuid": 1,
      		"schema": "student",
      		"values": {
      			"name": "Alice",
      			"age": 25
      		}
      	}, {
      		"id": "UNI001",
      		"uuid": 1001,
      		"schema": "university",
      		"values": {
      			"name": "Oxford"
      		}
      	}],
      	"edges": [{
      		"uuid": 53,
      		"schema": "studyAt",
      		"from": "STU001",
      		"to": "UNI001",
      		"from_uuid": 1,
      		"to_uuid": 1001,
      		"values": {
      			"start": 2001,
      			"end": 2005
      		}
      	}]
      }
      

      TABLE

      返回有所有点的ID和name属性值构成的表:

      find().nodes() as n
      return table(n._id, n.name)
      

      结果:

      n._id n.name
      STU001 Alice
      UNI001 Oxford

      表的数据结构为:

      {
        "name": "table(n._id, n.name)",
        "alias": "table(n._id, n.name)",
        "headers": [
          "n._id",
          "n.name"
        ],
        "rows": [
          [
            "STU001",
            "Alice"
          ],
          [
            "UNI001",
            "Oxford"
          ]
        ]
      }
      

      ATTR

      返回Alice在Oxford学习了多久:

      find().edges({_uuid == 53}) as e
      return e.end - e.start
      

      该结果的数据结构为:

      {
        "values": [
          4
        ]
      }
      

      关于如何在RETURN子句中指定有效的返回格式,请参考这里的表格。

      Null

      在嬴图数据库中,null表示属性值或查询结果不存在。请注意null与0或空字符串不是一回事。具体来说,以下情况会产生null值:

      • 插入点或边(insert()insert().overwrite())时,未指定的属性会被赋值为null
      • 创建属性时,相应schema中已有点或边的该新属性会被赋值为null
      • 请求一个不存在的属性时,会返回null
      • 查询子句(find()khop()n().e().n()等)没有任何结果时,如果使用了前缀OPTIONAL,会返回null(而不是无任何返回值)

      条件判断表达式包含null时:

      • 如果有确定的结果,返回真或假
      • 否则,返回null
      表达式
      结果
      解释
      null == 3 null Null代表未知或确实的值,因此与另一个值比较时无法得到确定的结果。判断符!=<>>=<=的结果相同。
      null == null null 判断符!=<>>=<=的结果相同。
      [1, null, 2] == [1, 3, 2] null 判断符!=的结果相同。
      [1, null, 2] == [1, null, 2] null 判断符!=的结果相同。
      [1, null, 2] == [1, null, 3] 两个列表的第三个元素不同,因此可以确定结果。判断符!=的结果为真。
      [1, null, 2] == [1, null, 2, 3] 两个列表的长度不同,因此可以确定结果。判断符!=的结果为真。
      null <> [1, 3] null 判断符<=>的结果相同。
      1 IN [1, null, 2] 判断符NOT IN的结果为假。
      3 IN [1, null, 2] null 判断符NOT IN的结果相同。
      null IN [ ] 给定的列表是空的,因此可以确定结果。判断符NOT IN的结果为真。

      有null参与的数值运算+/-/*///%)的结果均为null。

      有null参与的聚合函数运算count()/sum()/max()/min()/avg()/stddev()/collect())均忽略null值进行相应的运算。

      与判断null值相关的函数操作符

      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写