修改密码

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

v4.5
搜索
    v4.5

      图集管理

      本节为您介绍如何使用Connection对象的方法管理数据库中的图集。

      每个示例主要展示如何使用所列方法。点击完整示例查看完整代码示例。

      showGraph()

      从数据库获取全部图集。

      参数:

      • RequestConfig (可选):配置请求。

      返回值:

      • GraphSet[]: 数据库中全部图集列表。

      // 获取全部图集并打印边数超过2000条的图集名称
      
      let resp = await conn.showGraph();
      let graphs = resp.data?.filter((graph) => {
        return Number(graph.totalEdges) > 2000;
      });
      console.log(graphs);
      

      Display_Ad_Click
      ERP_DATA2
      wikiKG
      

      getGraph()

      根据图集名称从数据库获取图集信息。

      参数:

      • string:图集名称。
      • RequestConfig (可选):配置请求。

      返回值:

      • GraphSet:目标图集。

      // 获取名为wikiKG的图集并打印其全部信息
      
      let resp = await conn.getGraph("wikiKG");
      console.log(resp.data);
      

      {"id":615,"name":"wikiKG","totalNodes":3546,"totalEdges":2179,"status":"MOUNTED","description":""}
      

      createGraph()

      在数据库中新建图集。

      参数:

      • GraphSet:待创建的图集;必须设置name字段,description字段可选。
      • RequestConfig (可选):配置请求。

      返回值:

      • Response:请求的结果。

      // 创建图集并打印错误代码
      
      let resp = await conn.createGraph({
        name: "testNodeJS_SDK",
        description: "A test graph for NodeJS_SDK",
      });
      console.log(resp.status.code_desc);
      

      数据库中已创建名为testNodeJS_SDK的新图集,驱动程序打印结果如下:

      SUCCESS
      

      createGraphIfNotExist()

      在数据库中新建图集,若同名图集已存在,忽略报错。

      参数:

      • GraphSet:待创建的图集;必须设置name字段,description字段可选。
      • RequestConfig (可选):配置请求。

      返回值:

      • Response:请求的结果。

      // 创建图集并打印错误代码
      
      let graph1 = await conn.createGraphIfNotExit({
        name: "testNodeJS_SDK",
        description: "A test graph for NodeJS_SDK",
      });
      console.log("First Creation: ", graph1.status.code_desc);
      
      // 尝试再次创建图集并打印错误代码
      let graph2 = await conn.createGraphIfNotExit({
        name: "testNodeJS_SDK",
        description: "A test graph for NodeJS_SDK",
      });
      console.log("Second Creation: ", graph2.status.code_desc);
      

      A new graphset testNodeJS_SDK is created in the database, and the driver prints:

      First Creation: SUCCESS
      Second Creation: SUCCESS
      

      dropGraph()

      根据图集名称从数据库中删除图集。

      参数:

      • string:图集名称。
      • RequestConfig (可选):配置请求。

      返回值:

      • Response:请求的结果。

      // 创建图集后将其删除并打印结果
      
      let resp = await conn.createGraph({
        name: "testNodeJS_SDK",
        description: "A test graph for NodeJS_SDK",
      });
      console.log(resp.status.code_desc);
      
      let resp2 = await conn.dropGraph("testNodeJS_SDK");
      console.log(resp2);
      

      SUCCESS
      {
        status: { code: 0, message: '' , code_desc: 'SUCCESS' },
        statistics: { totalCost: 16, engineCost: 0, nodeAffected: 0, edgeAffected: 0 },
        req: undefined
      }
      

      alterGraph()

      根据图集名称,修改数据库中已有图集的名称和描述信息。

      参数:

      • oldGraph: GraphSet:待修改的图集;必须设置name字段。
      • newGraph: GraphSet:更新已有图集的配置;必须设置字段“name”和“description”中的一个或两个。
      • RequestConfig (可选):配置请求。

      返回值:

      • Response:请求的结果。

      // 将图集testNodeJS_SDK重命名为newGraph,添加图集描述并打印结果
      
      let resp = await conn.alterGraph(
        { name: "testNodeJS_SDK" },
        { name: "newGraph", description: "The graphset is altered" }
      );
      console.log(resp);
      

      {
        status: { code: 0, message: '', code_desc: 'SUCCESS' },
        statistics: { totalCost: 1, engineCost: 0, nodeAffected: 0, edgeAffected: 0 },
        req: undefined
      }
      

      truncate()

      清空(删除)给定图集中的指定点或边,或清空全部图集。请注意,清空点数据的同时会删除与点相连的所有边。清空操作仅删除点边数据,不会删除schema和属性信息。

      参数:

      • Truncate:待清空的对象;必须设置graphName字段,可选择设置schema字段和dbType字段,但设置schema字段时,必须设置dbType字段。
      • RequestConfig (可选):配置请求。

      返回值:

      • Response:请求的结果。

      // 清空图集myGraph_1中@user点数据并打印错误代码
      
      let trunc1 = await conn.truncate({
        graphName: "myGraph_1",
        schema: "user",
        dbType: ULTIPA.DBType.DBNODE,
      });
      console.log(trunc1.status.code_desc);
      
      // 清空图集myGraph_2中全部边数据并打印错误代码    
      
      let trunc2 = await conn.truncate({
        graphName: "myGraph_2",
        dbType: ULTIPA.DBType.DBEDGE,
      });
      console.log(trunc2.status.code_desc);
      
      // 清空图集myGraph_3并打印错误代码
      
      let trunc3 = await conn.truncate({
        graphName: "myGraph_3",
      });
      console.log(trunc3.status.code_desc);
      

      SUCCESS
      SUCCESS
      SUCCESS
      

      compact()

      清除服务器磁盘上的无效及冗余数据以压缩图集。有效数据不会受到影响。

      参数:

      • string:图集名称。
      • RequestConfig (可选):配置请求。

      返回值:

      • Response:请求的结果。

      // 压缩图集miniCircle并打印错误代码
      
      let trunc1 = await conn.compact("miniCircle");
      console.log(trunc1.status.code_desc);
      

      SUCCESS
      

      hasGraph()

      根据图集名称查看数据库中是否存在该图集。

      参数:

      • string:图集名称。
      • RequestConfig (可选):配置请求。

      返回值:

      • Boolean:请求的结果。

      // 查看图集miniCircle是否存在并打印结果
      
      let has = await conn.hasGraph("miniCircle");
      console.log("has = ", has.data);
      

      has = true
      

      unmountGraph()

      卸载图集以节省数据库内存。

      参数:

      • string:图集名称。
      • RequestConfig (可选):配置请求。

      返回值:

      • Response:请求的结果。

      // 卸载图集miniCircle并打印图集状态
      
      let resp = await conn.unmountGraph("miniCircle");
      console.log(resp.status.code_desc);
      

      SUCCESS
      

      mountGraph()

      将图集挂载至数据库内存。

      参数:

      • string:图集名称。
      • RequestConfig (可选):配置请求。

      返回值:

      • Response:请求的结果。

      // 挂载图集'miniCircle'并打印结果
      
      let resp = await conn.mountGraph("miniCircle");
      console.log(resp.status.code_desc);
      

      SUCCESS
      

      完整示例

      import { ConnectionPool, ULTIPA } from "@ultipa-graph/ultipa-node-sdk";
      import { GraphExra } from "@ultipa-graph/ultipa-node-sdk/dist/connection/extra/graph.extra";
      import { getEdgesPrintInfo } from "@ultipa-graph/ultipa-node-sdk/dist/printers/edge";
      import { RequestType } from "@ultipa-graph/ultipa-node-sdk/dist/types";
      import { ListFormat } from "typescript";
      
      let sdkUsage = async () => {
        // 设置连接
        //URI示例: hosts="mqj4zouys.us-east-1.cloud.ultipa.com:60010"
        let hosts = [
          "192.168.1.85:60061",
          "192.168.1.86:60061",
          "192.168.1.87:60061",
        ];
        let username = "***";
        let password = "***";
        let connPool = new ConnectionPool(hosts, username, password);
      
        // 建立与数据库的连接
        let conn = await connPool.getActive();
        let isSuccess = await conn.test();
        console.log(isSuccess);
      
        // 配置请求
        let requestConfig = <RequestType.RequestConfig>{
          useMaster: true,
        };
      
        // 创建图集newGraph
        let graph = await conn.createGraph({ name: "newGraph" }, requestConfig);
        console.log(graph.status.code_desc);
      
        // 删除刚刚创建的图集newGraph
      
        let resp = await conn.dropGraph("newGraph");
        console.log(resp.status.code_desc);
      };
      
      sdkUsage().then(console.log).catch(console.log);
      
      请完成以下信息后可下载此书
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写
      *
      你的电话必须填写