修改密码

请输入密码
请输入密码 请输入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(转账)可以由金额、转账时间等边属性构成。

      点的系统属性 _id_uuid 以及边的系统属性 _uuid_from_to_from_uuid_to_uuid 不需要创建,也不能删除。

      每个 schema 中可以创建多个自定义属性。自定义属性的数据类型:int32、int64、uint32、uint64、float、double、string、text、datetime、timestamp:

      数据类型
      描述
      float 占 4 字节,数据精度为 6 位有效数字
      double 占 8 字节,数据精度为 15 位有效数字
      string 最大支持 65535 字节
      text 长度不限
      datetime 有效数据格式为 yyyy-mm-dd hh:mm:ssyyyy-mm-dd hh:mm:ss.ssssss,并被换算为从格林威治时间 1900年1月1日0时 开始到该时间值的微秒数,以 uint64 存储
      timestamp 有效数据格式为 yyyy-mm-dd hh:mm:ssyyyy-mm-ddyyyymmddhhmmssyyyymmdd,并被换算为从格林威治时间 1970年1月1日0时 开始到该时间值的秒数,以 uint32 存储;其时区须通过 SDK 的 RequestConfig 进行设置

      本节中的 @<schema>@<schema>.<property> 表示对图模型中的 schema、属性进行过滤,不同于在过滤器中使用 @<schema>@<schema>.<property> 对元数据的 schema、属性进行过滤,请与《过滤器|操作符》-《条件判断符》-《Schemna 判断》中关于符号 @ 的使用加以区分。

      命名规则

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

      • 2 ~ 64 个字符
      • 不能以波浪号 '~' 开头
      • 不能包含反单引号 '`'
      • 不能与《背景知识》中列出的系统属性、系统表名、系统别名(保留字)重复
      • (属性名中含有除数字、字母、下划线之外的字符时,在 UQL 语句中使用时需要用反引号(`)包裹)

      查看属性

      返回的表名:_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", int32, "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", int32, "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 中的其它属性均可以删除。删除一个属性将同时删除与其相关的索引、全文索引、引擎索引(LTE的属性)。

      语法:

      // 从当前图集中删除某个 点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)
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写