修改密码

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

修改昵称

当前昵称:
提交
搜索
v4.0
    v4.0

    模式

    介绍

    模式 schema 代表了数据的某种结构定义,更加直观地将真实世界 100% 还原到图集之上,从而清晰方便地管理图数据。在 Ultipa 图系统中,一个 schema 代表着真实世界中的一类实体(点),如:自然人、银行卡、账户等;或者一类行为关系(边),如:关注、转账、持有等。

    每个图集在创建后会自带一个名为 default 的 点schema 和一个名为 default 的 边schema(均不可删除);每个图集中可以创建多个 点schema 和 边schema。

    Schema 的特性:

    • 点schema 和 边schema 可以重名,但是 点schema 之间不能重名,边schema 之间也不能重名
    • Schema 命名规则见《背景知识》
    • UQL 中 schema 的标志是 @
      • 写为 @<value> 时是过滤条件,例如 @account,表示过滤出 schema 为 “account” 的点或边
      • 单独写 @ 时是调用,例如 @ 或 <alias>.@,表示调用元数据的 schema 值

    查看 Schema

    返回的表名:_nodeSchema_edgeSchema

    返回的表头:name|description|properties|totalNodestotalEdges(schema 的名称、描述、属性列表、点数量 或 边数量)

    语法:

    // 查看当前图集中所有 schema 信息(分为点、边两个表)
    show().schema()
    
    // 查看当前图集中所有 点schema 信息
    show().node_schema()
    
    // 查看当前图集中所有 边schema 信息
    show().edge_schema()
    
    // 查看当前图集中某个 点schema 信息
    show().node_schema(@<schema>)
    
    // 查看当前图集中某个 边schema 信息
    show().edge_schema(@<schema>)
    

    创建 Schema

    语法:

    // 在当前图集中创建一个 点schema
    create().node_schema("<name>", "<desc?>")
    
    // 在当前图集中创建一个 边schema
    create().edge_schema("<name>", "<desc?>")
    
    // 混合以上两种方法同时创建多个 点/边schema
    create()
      .node_schema("<name>", "<desc?>")
      .edge_schema("<name>", "<desc?>")
      ...
    

    示例:用一条 UQL 创建 点schema “银行卡”和“账户”

    create().node_schema("card", "Bank_Card").node_schema("account", "Bank_Account")
    

    示例:用一条 UQL 创建 边schema “持有”和“转账”

    create().edge_schema("own").edge_schema("transaction")
    

    示例:用一条 UQL 创建 点schema “银行卡”及 边schema “持有”

    create().node_schema("card", "Bank_Card").edge_schema("own")
    

    修改 Schema(名称、描述)

    语法:

    // 修改当前图集中的某个 点schema 的名称、描述
    alter().node_schema(@<schema>)
      .set({name: "<new_name?>", description: "<new_desc?>"})
    
    // 修改当前图集中的某个 边schema 的名称、描述
    alter().edge_schema(@<schema>)
      .set({name: "<new_name?>", description: "<new_desc?>"})
    

    删除 Schema

    除默认 点schema 和 边schema(@default)不允许删除之外,当前图集中的其它 schema 均可以删除。

    语法:

    // 从当前图集中删除某个 点schema
    drop().node_schema(@<schema>)
                       
    // 从当前图集中删除某个 边schema
    drop().edge_schema(@<schema>)
    
    // 混合以上两种方法同时删除多个 点/边schema
    drop()
      .node_schema(@<schema>)
      .edge_schema(@<schema>)
      ...
    
    请完成以下信息后可下载此书
    *
    公司名称不能为空
    *
    公司邮箱必须填写
    *
    你的名字必须填写
    *
    你的电话必须填写
    *
    你的电话必须填写