Change Password

Please enter the password.
Please enter the password. Between 8-64 characters. Not identical to your email address. Contain at least 3 of: uppercase, lowercase, numbers, and special characters.
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

Apply New License

License Detail

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

The MAC address of the server you want to deploy.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Applied Validity Period(days)
Effective Date
Excpired Date
Mac Address
Apply Comment
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
  • Country:
  • Language:
Change Password
Apply

You have no license application record.

Apply
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

Product Created On ID Amount (USD) Invoice
Product Created On ID Amount (USD) Invoice

No Invoice

v4.5
Search
    English
    v4.5

      Types Mapping Ultipa and C#

      Mapping Methods

      The Alias() method of the Response class returns a DataItem, which embeds the query result. You should use the As<Type>() method of DataItem to cast the result to the appropriate driver type.

      var res = await ultipa.Uql("find().nodes() as n return n{*} limit 5");
      var nodeList = res.Alias("n").AsNodes();
      Console.WriteLine(JsonConvert.SerializeObject(nodeList));
      

      The result n coming from the database contains five nodes, each of the NODE type. The AsNodes() method converts them as a list of Node objects.

      Type mapping methods available on DataItem:

      UQL Type UQL Alias Method Driver Type
      Description
      NODE Any AsNodes() List<Node>? Maps NODE-type DataItem to a list of Node objects.
      EDGE Any AsEdges() List<Edge>? Maps EDGE-type DataItem to a list of Edge objects.
      PATH Any AsPaths() List<Path>? Maps PATH-type DataItem to a list of Path objects.
      TABLE Any AsGraph() Graph Maps GRAPH-type DataItem to a list of Graph objects.
      TABLE _graph AsGraphSets() List<GraphSet>? Maps DataItem with the alias _graph to a list of GraphSet objects.
      TABLE _nodeSchema, _edgeSchema AsSchemas() List<Schema> Maps DataItem with the alias _nodeSchema or _edgeSchema to a list of Schema objects.
      TABLE _nodeProperty, _edgeProperty AsProperties() List<Property> Maps DataItem with the alias _nodeProperty or _edgeProperty to a list of Property objects.
      TABLE _algoList AsAlgos() List<Algo> Maps DataItem with the alias _algoList to a list of Algo objects.
      TABLE _extaList AsExtas() List<Exta> Maps DataItem with the alias _extaList to a list of Exta objects.
      TABLE _nodeIndex, _edgeIndex, _nodeFulltext, _edgeFulltext AsIndexes() List<Index> Maps DataItem with the alias _nodeIndex, _edgeIndex, _nodeFulltext or _edgeFulltext to a list of Index objects.
      TABLE _privilege AsPrivileges() List<Privilege> Maps DataItem with the alias _privilege to a list of Privilege objects.
      TABLE _policy AsPolicies() List<Policy> Maps DataItem with the alias _policy to a list of Policy objects.
      TABLE _user AsUsers() List<User> Maps DataItem with the alias _user to a list of User objects.
      TABLE _statistic AsStats() DatabaseStats Maps DataItem with the alias _statistic to a DatabaseStats object.
      TABLE _top AsProcesses() List<Process> Maps DataItem with the alias _top to a list of Process objects.
      TABLE _task AsTasks() List<UltipaTask> Maps DataItem with the alias _task to a list of UltipaTask objects.
      TABLE Any AsTable() Table Maps TABLE-type DataItem to a Table object.
      ATTR Any AsAttr() Attr Maps ATTR-type DataItem to an Attr object.
      ATTR Any AsAttrOriginal() AttrList Maps ATTR-type DataItem to an AttrList object.

      Driver Types

      Node

      A Node object has the following fields:

      Field Type
      Description
      Uuid uint64 Node UUID
      Id string Node ID
      Schema string Node Schema
      Values Dictionary<string, object?> Node custom properties

      var res = await ultipa.Uql("find().nodes() as n return n{*} limit 5", requestConfig);
      var nodeList = res.Alias("n")?.AsNodes();
      Console.WriteLine("ID of the 1st node: " + JsonConvert.SerializeObject(nodeList[0].Id));
      Console.WriteLine(
          "Name of the 1st node: "
              + JsonConvert.SerializeObject(nodeList[0].Values.GetValueOrDefault("name"))
      );
      

      ID of the 1st node: ULTIPA8000000000000001
      Name of the 1st node: Titanic
      

      Edge

      An Edge object has the following fields:

      Field Type
      Description
      Uuid uint64 Edge UUID
      FromUuid uint64 Start node UUID of the edge
      ToUuid uint64 End node UUID of the edge
      FromId string Start node ID of the edge
      ToId string End node ID of the edge
      Schema string Edge Schema
      Values Dictionary<string, object?> Edge custom properties

      var res = await ultipa.Uql("find().edges() as e return e{*} limit 5", requestConfig);
      var edgeList = res.Alias("e")?.AsEdges();
      Console.WriteLine(
          "Value of the 1st edge: " + JsonConvert.SerializeObject(edgeList[0].Values)
      );
      

      Value of the 1st edge: {"datetime":"2019-01-06T02:56:00Z","timestamp":"2019-01-05T18:57:57Z","targetPost":0}
      

      Path

      A Path object has the following fields:

      Field
      Type
      Description
      Nodes List<Node> Node list of the path
      Edges List<Edge> Edge list of the path
      NodeSchemas object Infomation of node schema
      EdgeSchemas object Infomation of edge schema

      var res = await ultipa.Uql(
          "n().e()[:2].n() as paths return paths{*} limit 5",
          requestConfig
      );
      var pathList = res.Alias("paths")?.AsPaths();
      Console.WriteLine(
          "Length of the 1st path: " + JsonConvert.SerializeObject(pathList[0].Edges.Count)
      );
      Console.WriteLine(
          "Edge list of the 1st path: " + JsonConvert.SerializeObject(pathList[0].Edges)
      );
      Console.WriteLine(
          "Information of the 2nd node in the 1st path: "
              + JsonConvert.SerializeObject(pathList[0].Nodes[1])
      );
      

      Length of the 1st path: 2
      Edge list of the 1st path: [{"Uuid":7,"FromUuid":27,"ToUuid":1,"Id":"","FromId":"ULTIPA800000000000001B","ToId":"ULTIPA8000000000000001","Schema":"follow","Values":{}},{"Uuid":99,"FromUuid":33,"ToUuid":27,"Id":"","FromId":"ULTIPA8000000000000021","ToId":"ULTIPA800000000000001B","Schema":"follow","Values":{}}]
      Information of the 2nd node in the 1st path: {"Uuid":27,"Id":"ULTIPA800000000000001B","Schema":"account","Values":{"year":1988,"industry":"Transportation","name":"Sam123","stringList":[null],"int32List":[null],"float":3.72,"double":3.719999313354492}}
      

      Graph

      A Graph object has the following fields:

      Field
      Type
      Description
      Nodes List<Node> Node list of the path
      Edges List<Edge> Edge list of the path
      NodeSchemas Dictionary<string, Schema> Map of all node schemas of the path
      EdgeSchemas Dictionary<string, Schema> Map of all edge schemas of the path

      var res = await ultipa.Uql(
          "n(as n1).re(as e).n(as n2).limit(3) with toGraph(collect(n1), collect(n2), collect(e)) as graph return graph",
          requestConfig
      );
      var graphList = res.Alias("graph")?.AsGraph();
      var nodeList = graphList.Nodes;
      var edgeList = graphList.Edges;
      Console.WriteLine("Node IDs: ");
      foreach (var node in nodeList)
      {
          Console.WriteLine(node.Id);
      }
      Console.WriteLine("Edge UUIDs: ");
      foreach (var edge in edgeList)
      {
          Console.WriteLine(edge.Uuid);
      }
      

      Node IDs:
      ULTIPA8000000000000017
      ULTIPA8000000000000001
      ULTIPA8000000000000061
      ULTIPA800000000000001B
      Edge UUIDs:
      1576
      43
      29
      

      GraphSet

      A GraphSet object has the following fields:

      Field
      Type
      Description
      Id string Graphset ID
      Name string Graphset name
      Desc string Graphset description
      TotalNodes ulong Total number of nodes in the graphset
      TotalEdges ulong Total number of edges in the graphset
      Status string Graphset status (MOUNTED, MOUNTING, or UNMOUNTED)

      var res = await ultipa.Uql("show().graph()");
      var graphSetList = res.Alias("_graph")?.AsGraphSets();
      foreach (var graph in graphSetList)
      {
          if (graph.Status.Equals("UNMOUNTED"))
          {
              Console.WriteLine(graph.Name);
          }
      }
      

      DFS_EG
      cyber
      cyber2
      

      Schema

      A Schema object has the following fields:

      Field
      Type
      Description
      Name string Schema name
      Desc string Schema description
      DbType DBType Type of the schema (node or edge)
      Total int Total number of nodes/edges of the schema
      Properties List<Property> Property list of the schema

      var res = await ultipa.Uql("show().node_schema()", requestConfig);
      var schemaList = res.Alias("_nodeSchema")?.AsSchemas();
      foreach (var schema in schemaList)
      {
          Console.WriteLine(schema.Name + " has " + schema.Total + " nodes");
      }
      

      default has 0 nodes
      user has 1092511 nodes
      ad has 846811 nodes
      

      Property

      A Property object has the following fields:

      Field
      Type
      Description
      Name string Property name
      Desc string Property description
      Lte bool Property LTE status
      Read bool Property read status
      Write bool Property write status
      Schema string Associated schema of the property
      Type PropertyType Property data type
      SubTypes PropertyType[] List of property data type
      Extra string Extra information of properties

      var res = await ultipa.Uql("show().node_property(@account)", requestConfig);
      var propertyList = res.Alias("_nodeProperty")?.AsProperties();
      foreach (var property in propertyList)
      {
          if (property.Lte.Equals(true))
          {
              Console.WriteLine("LTE-ed property name: " + property.Name);
          }
      }
      

      LTE-ed property name: year
      

      Algo

      An Algo object has the following fields:

      Field
      Type
      Description
      Name string Algorithm name
      Param string Parameters of the algorithm
      Detail string Algorithm details

      var res = await ultipa.Uql("show().algo()", requestConfig);
      var algoList = res.Alias("_algoList")?.AsAlgos();
      Console.WriteLine(JsonConvert.SerializeObject(algoList[0]));
      

      {"Name":"bipartite","Param":"{\"name\":\"bipartite\",\"description\":\"bipartite check\",\"version\":\"1.0.1\",\"parameters\":{},\"result_opt\":\"56\"}","Detail":"base:\r\n  category: Connectivity & Compactness\r\n   name: Bipartite\r\n    desc: Judge if the current graph is bipartite.\r\n}
      

      Exta

      An exta is a custom algorithm developed by users.

      An Exta object has the following fields:

      Field
      Type
      Description
      Author string Exta author
      Name string Exta name
      Version string Exta version
      Detail string Content of the YML configuration file of the Exta

      var res = await ultipa.Uql("show().exta()");
      var extaList = res.Alias("_extaList")?.AsExtas();
      Console.WriteLine(JsonConvert.SerializeObject("Exta name: " + extaList[0].Name));
      

      "Exta name: page_rank"
      

      Index

      An Index object has the following fields:

      Field
      Type
      Description
      Schema string Schema name of the index
      Name string Index name
      Properties string Property name of the index
      Status string Index status (done or creating)
      Size string Index size in bytes

      var res = await ultipa.Uql("show().index()", requestConfig);
      var indexList = res.Alias("_nodeIndex")?.AsIndexes();
      foreach (var index in indexList)
      {
          Console.WriteLine("Schema name: " + index.Schema);
          Console.WriteLine("Properties: " + index.Properties);
          Console.WriteLine("Size: " + index.size);
      }
      

      Schema name: account
      Properties: name
      Size: 0
      Schema name: movie
      Properties: name
      Size: 2526
      

      var res = await ultipa.Uql("show().fulltext()", requestConfig);
      var fulltextList = res.Alias("_edgeFulltext")?.AsIndexes();
      foreach (var item in fulltextList)
      {
          Console.WriteLine("Fulltext name: " + item.Name);
          Console.WriteLine("Schema name: " + item.Schema);
          Console.WriteLine("Properties: " + item.Properties);
      }
      

      Fulltext name: nameFull
      Schema name: review
      Properties: content
      

      Privilege

      A Privilege object has the following fields:

      Field
      Type
      Description
      Name string Privilege name
      Level PrivilegeType Privilege type, including GraphLevel and SystemLevel

      var res = await ultipa.Uql("show().privilege()");
      var privilegeList = res.Alias("_privilege")?.AsPrivileges();
      
      var systemPrivilegeList = new List\<string>();
      foreach (var item in privilegeList)
      {
          if (item.Level == PrivilegeType.SystemLevel)
          {
              systemPrivilegeList.Add(item.Name);
          }
      }
      Console.WriteLine("System privileges include: ");
      Console.WriteLine(JsonConvert.SerializeObject(systemPrivilegeList));
      

      System privileges include:
      ["TRUNCATE","COMPACT","CREATE_GRAPH","SHOW_GRAPH","DROP_GRAPH","ALTER_GRAPH","MOUNT_GRAPH","UNMOUNT_GRAPH","TOP","KILL","STAT","SHOW_POLICY","CREATE_POLICY","DROP_POLICY","ALTER_POLICY","SHOW_USER","CREATE_USER","DROP_USER","ALTER_USER","GRANT","REVOKE","SHOW_PRIVILEGE"]
      

      Policy

      A Policy object has the following fields:

      Field
      Type
      Description
      Name string Policy name
      GraphPrivileges Dictionary<string, List<string>> Graph privileges and the corresponding graphsets included in the policy
      SystemPrivileges List<string> System privileges included in the policy
      SubPolicies List<string> Policies included in the policy
      PropertyPrivileges PropertyPrivilegeMap? Property privileges included in the policy

      var res = await ultipa.Uql("show().policy()");
      var policyList = res.Alias("_policy")?.AsPolicies();
      foreach (var item in policyList)
      {
          Console.WriteLine("Policy name: " + item.Name);
      }
      

      Policy name: operator
      Policy name: manager
      

      User

      A User object has the following fields:

      Field
      Type
      Description
      Username string Username
      Password string Password
      CreatedTime string When the user was created
      GraphPrivileges Dictionary<string, List<string>>? Graph privileges and the corresponding graphsets granted to the user
      SystemPrivileges List<string> System privileges granted to the user
      PropertyPrivileges PropertyPrivileges Property privileges granted to the user
      Policies List<string> Policies granted to the user

      var res = await ultipa.Uql("show().user('Tester')");
      var userList = res.Alias("_user")?.AsUsers();
      Console.WriteLine("Username: " + userList[0].Username);
      Console.WriteLine("Created at: " + userList[0].CreatedTime);
      Console.WriteLine(
          "Graph privileges: " + JsonConvert.SerializeObject(userList[0].GraphPrivileges)
      );
      Console.WriteLine(
          "System privileges: " + JsonConvert.SerializeObject(userList[0].SystemPrivileges)
      );
      Console.WriteLine(
          "Property privileges: " + JsonConvert.SerializeObject(userList[0].PropertyPrivileges)
      );
      

      Username: Tester
      Created at: 7/26/2024 6:10:06 AM
      Graph privileges: {"Ad_Click":["FIND_EDGE","FIND_NODE"],"DFS_EG":["UPDATE","INSERT"]}
      System privileges: ["MOUNT_GRAPH"]
      Property privileges: {"node":{"read":[["*","*","*"]],"write":[["*","*","*"],["miniCircle","account","name"]],"deny":[]},"edge":{"read":[["*","*","*"]],"write":[["*","*","*"]],"deny":[]}}
      

      Stats

      A DatabaseStats object has the following fields:

      Field
      Type
      Description
      CpuUsage string CPU usage in percentage
      MemUsage string Memory usage in megabytes
      ExpiredDate string Expiration date of the license
      CpuCores string Number of CPU cores
      Company string Company name
      ServerType string Server type
      Version string Version of the server

      var res = await ultipa.Uql("stats()");
      var statsList = res.Alias("_statistic")?.AsStats();
      Console.WriteLine("CPU usage: " + statsList.CpuUsage);
      Console.WriteLine("Memory usage: " + statsList.MemUsage);
      

      CPU usage: 12.204036
      Memory usage: 11348.136719
      

      Process

      A Process object has the following fields:

      Field
      Type
      Description
      Id string Process ID
      Uql string The UQL run with the process
      Duration int The duration in seconds the task has run so far
      Status string Process status

      var res = await ultipa.Uql("top()");
      var processList = res.Alias("_top")?.AsProcesses();
      Console.WriteLine("Process ID: " + processList[0].Id);
      

      Process ID: a_7_14568_1
      

      Task

      A UltipaTask object has the following fields:

      Field
      Type
      Description
      Param object Algorithm parameters and their corresponding values
      Info TaskInfo Task information including TaskID, AlgoName, StartTime, TaskStatus, etc.
      result object Algorithm result and statistics and their corresponding values
      ErrorMsg string Error message of the task

      var res = await ultipa.Uql("show().task()", requestConfig);
      var taskList = res.Alias("_task")?.AsTasks();
      Console.WriteLine("Algo Name: " + taskList[0].Info.AlgoName);
      Console.WriteLine("Parameters: " + taskList[0].Param);
      Console.WriteLine("Result: " + taskList[0].result);
      

      Algo Name: louvain
      Parameters: {"phase1_loop_num":"20","min_modularity_increase":"0.001"}
      Result: {
        "community_count": "10",
        "modularity": "0.535017",
        "result_files": "communityID,ids,num"
      }
      

      Table

      A Table object has the following fields:

      Field
      Type
      Description
      Name string Table name
      Headers []Property Table headers
      Rows []Row Table rows

      Methods on a Table object:

      Method
      Return
      Description
      ToKv() List<Dictionary<string, object?>> Convert all rows of the table to a key-value list.

      var res = await ultipa.Uql(
          "find().nodes() as n return table(n._id, n._uuid) as myTable limit 5"
      );
      var myTab = res.Alias("myTable")?.AsTable();
      Console.WriteLine("2nd row in table: " + JsonConvert.SerializeObject(myTab.ToKv()[1]));
      

      2nd row in table: {"n._id":"ULTIPA8000000000000002","n._uuid":0}
      

      Attr

      An Attr object has the following fields:

      Field
      Type
      Description
      ResultType ResultType Attr type description
      PropertyType PropertyType Attr type
      Nodes List<Node> List of Node objects
      Edges List<Edge> List of Edge objects
      Paths List<Path> List of Path objects
      Attrs AttrList List of Attr objects
      Value object Value of the data

      var res = await ultipa.Uql(
          "find().nodes({@ad}) as n return n.brand limit 5",
          requestConfig
      );
      var myAttr = res.Alias("n.brand")?.AsAttr();
      Console.WriteLine(JsonConvert.SerializeObject(myAttr));
      

      [14655,14655,14655,14655,434760]
      
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写