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
    Français
    v4.5

      Mapping des Types entre Ultipa et C#

      Méthodes de Mapping

      La méthode Alias() de la classe Response renvoie un DataItem, qui intègre le résultat de la requête. Vous devez utiliser la méthode As<Type>() de DataItem pour convertir le résultat au type de pilote approprié.

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

      Le résultat n provenant de la base de données contient cinq nodes, chacun du type NODE. La méthode AsNodes() les convertit en une liste d'objets Node.

      Méthodes de mapping de type disponibles sur DataItem:

      Type UQL Alias UQL Méthode Type Pilote
      Description
      NODE Any AsNodes() List<Node>? Mappe le DataItem de type NODE en une liste d'objets Node.
      EDGE Any AsEdges() List<Edge>? Mappe le DataItem de type EDGE en une liste d'objets Edge.
      PATH Any AsPaths() List<Path>? Mappe le DataItem de type PATH en une liste d'objets Path.
      TABLE _graph AsGraphSets() List<GraphSet>? Mappe le DataItem avec l'alias _graph en une liste d'objets GraphSet.
      TABLE _nodeSchema, _edgeSchema AsSchemas() List<Schema> Mappe le DataItem avec l'alias _nodeSchema ou _edgeSchema en une liste d'objets Schema.
      TABLE _nodeProperty, _edgeProperty AsProperties() List<Property> Mappe le DataItem avec l'alias _nodeProperty ou _edgeProperty en une liste d'objets Property.
      TABLE _algoList AsAlgos() List<Algo> Mappe le DataItem avec l'alias _algoList en une liste d'objets Algo.
      TABLE _extaList AsExtas() List<Exta> Mappe le DataItem avec l'alias _extaList en une liste d'objets Exta.
      TABLE _nodeIndex, _edgeIndex, _nodeFulltext, _edgeFulltext AsIndexes() List<Index> Mappe le DataItem avec l'alias _nodeIndex, _edgeIndex, _nodeFulltext ou _edgeFulltext en une liste d'objets Index.
      TABLE _policy AsPolicies() List<Policy> Mappe le DataItem avec l'alias _policy en une liste d'objets Policy.
      TABLE _user AsUsers() List<User> Mappe le DataItem avec l'alias _user en une liste d'objets User.
      TABLE _statistic AsStats() DatabaseStats Mappe le DataItem avec l'alias _statistic en un objet DatabaseStats.
      TABLE _top AsProcesses() List<Process> Mappe le DataItem avec l'alias _top en une liste d'objets Process.
      TABLE _task AsTasks() List<UltipaTask> Mappe le DataItem avec l'alias _task en une liste d'objets UltipaTask.
      TABLE Any AsTable() Table Mappe le DataItem de type TABLE en un objet Table.
      ATTR Any AsAttr() Attr Mappe le DataItem de type ATTR en un objet Attr.
      ATTR Any AsAttrOriginal() AttrList Mappe le DataItem de type ATTR en un objet AttrList.

      Types de Pilote

      Node

      Un objet Node possède les champs suivants :

      Champ 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

      Un objet Edge possède les champs suivants :

      Champ Type
      Description
      Uuid uint64 Edge UUID
      FromUuid uint64 Start node UUID de l'edge
      ToUuid uint64 End node UUID de l'edge
      FromId string Start node ID de l'edge
      ToId string End node ID de l'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

      Un objet Path possède les champs suivants :

      Champ
      Type
      Description
      Nodes List<Node> Liste de nodes du path
      Edges List<Edge> Liste d'edges du path
      NodeSchemas object Information de node schema
      EdgeSchemas object Information de 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}}
      

      GraphSet

      Un objet GraphSet possède les champs suivants :

      Champ
      Type
      Description
      Id string Graphset ID
      Name string Graphset name
      Desc string Description du graphset
      TotalNodes ulong Nombre total de nodes dans le graphset
      TotalEdges ulong Nombre total d'edges dans le graphset
      Status string Statut du graphset (MOUNTED, MOUNTING, ou 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

      Un objet Schema possède les champs suivants :

      Champ
      Type
      Description
      Name string Nom du schema
      Desc string Description du schema
      DbType DBType Type du schema (node ou edge)
      Total int Nombre total de nodes/edges du schema
      Properties List<Property> Liste des propriétés du 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

      Un objet Property possède les champs suivants :

      Champ
      Type
      Description
      Name string Nom de la propriété
      Desc string Description de la propriété
      Lte bool Statut de LTE de la propriété
      Read bool Statut de lecture de la propriété
      Write bool Statut d'écriture de la propriété
      Schema string Schema associé de la propriété
      Type PropertyType Type de données de la propriété
      SubTypes PropertyType[] Liste de types de données de la propriété
      Extra string Informations supplémentaires de propriétés

      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

      Un objet Algo possède les champs suivants :

      Champ
      Type
      Description
      Name string Nom de l'algorithme
      Param string Paramètres de l'algorithme
      Detail string Détails de l'algorithme

      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

      Un exta est un algorithme personnalisé développé par les utilisateurs.

      Un objet Exta possède les champs suivants :

      Champ
      Type
      Description
      Author string Auteur de l'exta
      Name string Nom de l'exta
      Version string Version de l'exta
      Detail string Contenu du fichier de configuration YML de l'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

      Un objet Index possède les champs suivants :

      Champ
      Type
      Description
      Schema string Nom du schema de l'index
      Name string Nom de l'index
      Properties string Nom de la propriété de l'index
      Status string Statut de l'index (done ou creating)
      Size string Taille de l'index en octets

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

      Nom du schema: account
      Properties: name
      Size: 0
      Nom du schema: 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("Nom du fulltext: " + item.Name);
          Console.WriteLine("Nom du schema: " + item.Schema);
          Console.WriteLine("Properties: " + item.Properties);
      }
      

      Nom du fulltext: nameFull
      Nom du schema: review
      Properties: content
      

      Policy

      Un objet Policy possède les champs suivants :

      Champ
      Type
      Description
      Name string Nom de la stratégie
      GraphPrivileges Dictionary<string, List<string>> Privilèges de graph et les graphsets correspondants inclus dans la stratégie
      SystemPrivileges List<string> Privilèges système inclus dans la stratégie
      SubPolicies List<string> Stratégies incluses dans la stratégie
      PropertyPrivileges PropertyPrivilegeMap? Privilèges de propriété inclus dans la stratégie

      var res = await ultipa.Uql("show().policy()");
      var policyList = res.Alias("_policy")?.AsPolicies();
      foreach (var item in policyList)
      {
          Console.WriteLine("Nom de la stratégie: " + item.Name);
      }
      

      Nom de la stratégie: operator
      Nom de la stratégie: manager
      

      User

      Un objet User possède les champs suivants :

      Champ
      Type
      Description
      Username string Nom d'utilisateur
      Password string Mot de passe
      CreatedTime string Quand l'utilisateur a été créé
      GraphPrivileges Dictionary<string, List<string>>? Privilèges de graph et les graphsets correspondants accordés à l'utilisateur
      SystemPrivileges List<string> Privilèges système accordés à l'utilisateur
      PropertyPrivileges PropertyPrivileges Privilèges de propriété accordés à l'utilisateur
      Policies List<string> Stratégies accordées à l'utilisateur

      var res = await ultipa.Uql("show().user('Tester')");
      var userList = res.Alias("_user")?.AsUsers();
      Console.WriteLine("Nom d'utilisateur: " + userList[0].Username);
      Console.WriteLine("Créé le: " + userList[0].CreatedTime);
      Console.WriteLine(
          "Privilèges de graph: " + JsonConvert.SerializeObject(userList[0].GraphPrivileges)
      );
      Console.WriteLine(
          "Privilèges système: " + JsonConvert.SerializeObject(userList[0].SystemPrivileges)
      );
      Console.WriteLine(
          "Privilèges de propriété: " + JsonConvert.SerializeObject(userList[0].PropertyPrivileges)
      );
      

      Nom d'utilisateur: Tester
      Créé le: 7/26/2024 6:10:06 AM
      Privilèges de graph: {"Ad_Click":["FIND_EDGE","FIND_NODE"],"DFS_EG":["UPDATE","INSERT"]}
      Privilèges système: ["MOUNT_GRAPH"]
      Privilèges de propriété: {"node":{"read":[["*","*","*"]],"write":[["*","*","*"],["miniCircle","account","name"]],"deny":[]},"edge":{"read":[["*","*","*"]],"write":[["*","*","*"]],"deny":[]}}
      

      Stats

      Un objet DatabaseStats possède les champs suivants :

      Champ
      Type
      Description
      CpuUsage string Utilisation du CPU en pourcentage
      MemUsage string Utilisation de la mémoire en mégaoctets
      ExpiredDate string Date d'expiration de la licence
      CpuCores string Nombre de cœurs de CPU
      Company string Nom de l'entreprise
      ServerType string Type de serveur
      Version string Version du serveur

      var res = await ultipa.Uql("stats()");
      var statsList = res.Alias("_statistic")?.AsStats();
      Console.WriteLine("Utilisation du CPU: " + statsList.CpuUsage);
      Console.WriteLine("Utilisation de la mémoire: " + statsList.MemUsage);
      

      Utilisation du CPU: 12.204036
      Utilisation de la mémoire: 11348.136719
      

      Process

      Un objet Process possède les champs suivants :

      Champ
      Type
      Description
      Id string ID du process
      Uql string Le UQL exécuté avec le process
      Duration int Durée en secondes pendant laquelle le task a été exécuté jusqu'à présent
      Status string Statut du process

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

      ID du process: a_7_14568_1
      

      Task

      Un objet UltipaTask possède les champs suivants :

      Champ
      Type
      Description
      Param object Paramètres de l'algorithme et leurs valeurs correspondantes
      Info TaskInfo Informations du task incluant TaskID, AlgoName, StartTime, TaskStatus, etc.
      result object Résultat de l'algorithme et statistiques et leurs valeurs correspondantes
      ErrorMsg string Message d'erreur du 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

      Un objet Table possède les champs suivants :

      Champ
      Type
      Description
      Name string Nom de la table
      Headers []Property En-têtes de la table
      Rows []Row Lignes de la table

      Méthodes sur un objet Table :

      Méthode
      Retour
      Description
      ToKv() List<Dictionary<string, object?>> Convertit toutes les lignes de la table en une liste clé-valeur.

      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

      Un objet Attr possède les champs suivants :

      Champ
      Type
      Description
      ResultType ResultType Description du type d'Attr
      PropertyType PropertyType Type d'Attr
      Nodes List<Node> Liste d'objets Node
      Edges List<Edge> Liste d'objets Edge
      Paths List<Path> Liste d'objets Path
      Attrs AttrList Liste d'objets Attr
      Value object Valeur des données

      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
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写