修改密码

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

      本文介绍管理数据库中图的语句。

      显示图

      使用语句SHOW GRAPH获取数据库中所有图的信息。

      SHOW GRAPH
      

      图的信息呈现在_graph_graph_shard_1_graph_shard_2等表中:

      • _graph包含数据库中的所有图。
      • _graph_shard_<N>包含存储在分片<N>上的图。

      表中各字段提供了各图的基础信息:

      字段
      描述
      id 图的唯一ID
      name 图的唯一名称
      total_nodes 图中总点数。仅在_graph表中出现
      total_edges 图中总边数。仅在_graph表中出现
      description 对图的描述
      status 图的当前状态,包括NORMALLOADING_SNAPSHOTCREATINGDROPPINGSCALING
      shards 图数据分布的分片ID
      partition_by 计算分片键哈希值的函数,对图数据分片至关重要
      meta_version Meta服务器使用的版本号,用于和shard服务器同步图上的DDL(数据定义语言)操作

      创建图

      使用语句CREATE GRAPH在数据库中创建新图。

      <create graph statement> ::= 
        "CREATE GRAPH" <graph name> <graph structure> <graph sharding> <graph description>
      
      <graph structure> ::= 
        "{" [ <element schemas> ] "}"
      
      <element schemas> ::=
        <element schema> [ { "," <element schema> }... ]
        
      <element schema> ::=
        <node schema> | <edge schema>
          
      <node schema> ::=
        "NODE" [ "TYPE" ] <node schema name> "(" <property types> ")"
      
      <edge schema> ::=
        "EDGE" [ "TYPE" ] <edge schema name> "()-[" <property types> "]->()"
        
      <property types> ::= 
        "{" <property type> [ { "," <property type> }... ] "}"
      
      <property type> ::= 
        <property name> <property value type>
        
      <graph sharding> ::= 
        "PARTITION BY" <hash function> "SHARDS" <shard id list> 
          
      <graph description> ::=
        "COMMENTS" <description string>
      

      创建图时,可指定四个部分:

      部分
      描述
      <graph name> 图的唯一名称。请参阅命名规范
      <graph structure> 图结构,用来定义图的<node schema><edge schema>(二者统称为<element schema>)。可使用空的{}省略该部分

      每个<element schema>包括:
      • <node schema name>/<edge schema name>:点schema或边schema名称。参阅命名规范
      • 一或多个<property type>,每个<property type>包括:
        • <property name>:属性名。请参阅命名规范
        • <property value type>:属性值类型。请参阅所有属性值类型
        • 不需要指定属性时,使用空()()-[{}]->()
      <graph sharding> 图的分片策略,包括:
      • <hash function>:计算分片键(点的_id)哈希值的函数(Crc32Crc64WECrc64XZCityHash64),对图数据分片至关重要。了解更多信息,请参阅CrcCityHash
      • <shard id list>:存储图数据的分片ID的非空列表
      <graph description> 可选,图描述

      注意:一个名为<schema name>的点、边schema的标签集合为:<schema name>

      根据以下要求创建图g1

      • 点schema:UserClub
      • 边schema:FollowsJoins
      • 分片:使用哈希函数Crc32将数据分发至分片123

      CREATE GRAPH g1 { 
        NODE User ({name string, gender string} ),
        NODE Club ({name string, since uint32}),
        EDGE Follows ()-[{createdOn datetime}]->(),
        EDGE Joins ()-[{memberNo uint64}]->()
      } PARTITION BY HASH(Crc32) SHARDS [1,2,3] COMMENT 'My first graph'
      

      创建仅包含点schema和边schema的图g2

      CREATE GRAPH g2 { 
        NODE User (),
        NODE Club (),
        EDGE Joins ()-[{}]->()
      } PARTITION BY HASH(Crc32) SHARDS [1,2]
      

      创建图结构为空的图g3,使用哈希函数CityHash64将数据分发至分片1中:

      CREATE GRAPH g3 {} PARTITION BY HASH(CityHash64) SHARDS [1]
      

      创建两个图:

      CREATE GRAPH g1 { 
        NODE User ({name string, gender string}),
        NODE Club ({name string, since uint32}),
        EDGE Follows ({createdOn datetime}),
        EDGE Joins ({memberNo uint64})
      } PARTITION BY HASH(Crc32) SHARDS [1,2,3] COMMENT 'My first graph'
      CREATE GRAPH g2 {} PARTITION BY HASH(CityHash64) SHARDS [1]
      

      删除图

      使用语句DROP GRAPH从数据库中删除图。

      <drop graph statement> ::= 
        "DROP GRAPH" <graph name> 
      

      删除图g1

      DROP GRAPH g1
      

      删除两个图:

      DROP GRAPH g1
      DROP GRAPH g2
      

      向图添加schema

      使用语句ALTER GRAPH可以将点schema和边schema添加到图中。

      <alter graph statement> ::= 
        "ALTER GRAPH" <graph name> <add element schemas>
      
      <add element schemas> ::=
        <add node schemas> | <add edge schemas>
      
      <add node schemas> ::=
        "ADD NODE" "{" <add node schema> [ { "," <add node schema> }... ] "}"
      
      <add node schema> ::=
        <node schema name> "(" <property types> ")"
      
      <add edge schemas> ::=
        "ADD EDGE" "{" <add edge schema> [ { "," <add edge schema> }... ] "}"
      
      <add edge schema> ::=
        <edge schema name> "(" <property types> ")"
      

      详情

      BookCompany两个点schema添加到图g1中:

      ALTER GRAPH g1 ADD NODE {Book ({title string, rating float}), Company ({name string})}
      

      将名为Rates的边schema添加到图g1中:

      ALTER GRAPH g1 ADD EDGE {Rates ({value float})}
      

      从图中删除schema

      使用ALTER GRAPH语句可以从图中删除点schema和边schema。删除点schema或边schema意味着同时将其中的所有点或边从数据库删除。需请留意,删除点时,所有与其相连的边也会删除。两个默认的schema无法删除。

      Schema删除操作以作业形式进行,稍后可使用SHOW JOB确认删除操作是否完成。

      <alter graph statement> ::= 
        "ALTER GRAPH" <graph name> <drop element schemas>
        
      <drop element schemas> ::=
        <drop node schemas> | <drop edge schemas>
      
      <drop node schemas> ::=
        "DROP NODE" <node schema name> [ { "," <node schema name> }... ]
      
      <drop edge schemas> ::=
        "DROP EDGE" <edge schema name> [ { "," <edge schema name> }... ]
      

      从图g1中删除名为User的点schema:

      ALTER GRAPH g1 DROP NODE User 
      

      从图g1删除FollowsJoins两个边schema:

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