修改密码

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

搜索
    中文

      属性

      介绍

      属性 property 是 schema 的组成成分,用来描述图中实体、关系的数据维度。比如 点schema "card"(银行卡)可以由卡号、余额、开卡时间等点属性构成;边schema "transaction"(转账)可以由金额、转账时间等边属性构成。

      每个 点schema 在创建后会自带点属性 _id_uuid,每个 边schema 在创建后会自带边属性 _uuid_from_to_from_uuid_to_uuid,这些自带的属性为系统属性,均不可删除;每个 schema 中可以创建多个属性。

      属性的特性:

      • 属性数据类型支持:int32、int64、uint32、uint64、float、double、string、datetime、timestamp
      • 在 UQL 中属性通常与 schema 连写为 @<schema>.<property>,表示 schema 值为 <schema> 的点或边的属性 <property> 的值;属性不与 schema 连写则表示任意模式的点或边的该属性值,如果该属性不存在则为空

      时间类型 datetimetimestamp 的区别为:datetime 的数据格式可为 yyyy-mm-dd hh:mm:ssyyyy-mm-dd hh:mm:ss.ssssss,并被换算为从格林威治时间 1900年1月1日0时 开始到该时间值的微秒数,以 uint64 存储;timestamp 的数据格式为 yyyy-mm-dd hh:mm:ss,并被换算为从格林威治时间 1970年1月1日0时 开始到该时间值的秒数,以 uint32 存储。

      如果只写int,默认使用int32整数类型。字符串类型 string 最大支持 65535 字节。小数类型 float 占 4 字节,数据精度为 6 位有效数字;double 占 8 字节,数据精度为 15 位有效数字。请根据数据的实际用途、数据量以及磁盘大小选择恰当的小数类型。

       V4.1  支持使用下标引用数组中的某个或多个元素,下标从 0 开始计算,写法有:[n] (下标为 n 的元素)、[n1:n2] (从下标 n1 到 n2 的元素构成的数组)、[:n] (从下标 0 到 n 的元素构成的数组)、[n:] (从下标 n 到最后一个元素构成的数组)。

      命名规则

      Schema 由开发者自定义名称,一个图集中同一个 schema 的属性不能互相重名,但一个 schema 的属性可以和另一个 schema 的属性重名。

      • 2 ~ 64 个字符
      • 必须以字母开头
      • 仅允许使用字母,下划线和数字(即 _ 、A-Z、a-z、0-9)

      查看属性

      返回的表名:_nodeProperty 和/或 _edgeProperty

      返回的表头:name|type|lte|schema|description(属性的名称、数据类型、是否 LTE、所属 schema、描述)

      语法:

      // 查看当前图集中的所有 schema 的属性(分为点、边两个表)
      show().property() 
      
      // 查看当前图集中的所有 点schema 的属性
      show().node_property()
      
      // 查看当前图集中的所有 边schema 的属性
      show().edge_property()
      
      // 查看当前图集中的某个 点schema 的属性
      show().node_property(@<schema>)
      
      // 查看当前图集中的某个 边schema 的属性
      show().edge_property(@<schema>)
      

      创建属性

      创建属性时如果不声明数据类型,则默认为 string。

      语法:

      // 在当前图集中为某个 点schema 创建一个点属性
      create().node_property(@<schema>, "<name>", <type?>, "<desc?>")
      
      // 在当前图集中为所有 点schema 创建一个点属性
      create().node_property(@*, "<name>", <type?>, "<desc?>")
      
      // 在当前图集中为某个 边schema 创建一个边属性
      create().edge_property(@<schema>, "<name>", <type?>, "<desc?>")
      
      // 在当前图集中为所有 边schema 创建一个边属性
      create().edge_property(@*, "<name>", <type?>, "<desc?>")
      
      // 混合以上四种方法同时创建多个点/边属性
      create()
        .node_property(@<schema>, "<name>", <type?>, "<desc?>")
        .node_property(@*, "<name>", <type?>, "<desc?>")
        .edge_property(@<schema>, "<name>", <type?>, "<desc?>")
        .edge_property(@*, "<name>", <type?>, "<desc?>")
        ...
      

      示例:用一条 UQL 创建 @card 的点属性“余额”和“级别”,以及所有边的“时间”属性

      create().node_property(@card, "sum", double, "card balance")
        .node_property(@card, "level", int, "card level")
        .edge_property(@*, "time", datetime)
      

      示例:用一条 UQL 创建 @transaction 的边属性“流水号”、“转账时间”和“金额”

      create().edge_property(@transaction, "no", "", "transaction number")
        .edge_property(@transaction, "time", datetime)
        .edge_property(@transaction, "amount", double)
      

      示例:用一条 UQL 创建 @card 的点属性“余额”和“级别”,及 @transaction 的边属性“流水号”、“转账时间”和“金额”

      create().node_property(@card, "sum", double, "card balance")
        .node_property(@card, "level", int, "card level")
        .edge_property(@transaction, "no", "", "transaction number")
        .edge_property(@transaction, "time", datetime)
        .edge_property(@transaction, "amount", double)
      

      修改属性(名称、描述)

      语法:

      // 修改当前图集中的某个 点schema 的某个属性的名称、描述
      alter().node_property(@<schema>.<property>)
        .set({name: "<new_name?>", description: "<new_desc?>"})
      
      // 修改当前图集中的所有 点schema 的某个属性(如有)的名称、描述
      alter().node_property(@*.<property>)
        .set({name: "<new_name?>", description: "<new_desc?>"})
      
      // 修改当前图集中的某个 边schema 的某个属性的名称、描述
      alter().edge_property(@<schema>.<property>)
        .set({name: "<new_name?>", description: "<new_desc?>"})
      
      // 修改当前图集中的所有 边schema 的某个属性(如有)的名称、描述
      alter().edge_property(@*.<property>)
        .set({name: "<new_name?>", description: "<new_desc?>"})
      

      示例:将 @card 的属性 sum 改为 balance

      alter().node_property(@card.sum)
        .set({name: "balance"})
      

      示例:将所有边的属性 time 改为 createTime

      alter().edge_property(@*.time)
        .set({name: "createTime"})
      

      删除属性

      用户可以删除不再需要的属性,以节省磁盘空间。删除属性的操作是实时的,不必考虑时间消耗,一旦执行,属性会被立即删除。

      除系统属性 _id_uuid_from_to_from_uuid_to_uuid 不允许删除之外,schema 中的其它属性均可以删除。

      语法:

      // 从当前图集中删除某个 点schema 的某个属性
      drop().node_property(@<schema>.<property>)
      
      // 从当前图集中删除所有 点schema 的某个属性(如有)
      drop().node_property(@*.<property>)
      
      // 从当前图集中删除某个 边schema 的某个属性
      drop().edge_property(@<schema>.<property>)
      
      // 从当前图集中删除所有 边schema 的某个属性(如有)
      drop().edge_property(@*.<property>)
      
      // 混合以上四种方法同时删除多个点/边属性
      drop()
        .node_property(@<schema>.<property>)
        .node_property(@*.<property>)
        .edge_property(@<schema>.<property>)
        .edge_property(@*.<property>)
        ...
      

      示例:删除 @card 点的属性 branch 以及所有边的属性 time

      drop().node_property(@card.branch).edge_property(@*.time)
      

      示例:删除 @default 边的属性 test

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