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

      Spread

      La requête spread().src().depth() peut trouver et retourner des edges à partir d'un node de départ dans un rayon de K sauts, en spécifiant l'indice k, en appliquant des filtres sur le node initial, tous les edges et tous les nodes voisins. Les edges trouvés sont retournés des moins profonds aux plus profonds, sous forme de chemins à 1 étape (node de départ, edge, node de fin).

      Spread est une méthode de requête BFS (Breadth First Search) couramment utilisée dans l'industrie de l'analyse graphique pour observer les couches de relations autour d'une entité, et pour récupérer et acquérir des données rapidement.

      Syntaxe :

      • Alias de déclaration : supporté (PATH)
      • Tous les paramètres :
      Paramètre Type Spécification Description Structure de l'Alias Personnalisé
      src() Filtre Obligatoire Les règles de filtrage du node de départ ; une erreur se produira si plusieurs nodes sont trouvés NODE
      depth() Int >0; obligatoire La profondeur maximale de propagation Non supporté
      node_filter() Filtre Les règles de filtrage que les nodes voisins autres que src doivent satisfaire Non supporté
      edge_filter() Filtre Les règles de filtrage que tous les edges doivent satisfaire Non supporté
      direction() Chaîne gauche, droite Pour spécifier la direction de l'edge Non supporté
      limit() Int -1 ou >=0 Nombre de résultats à retourner pour chaque sous-requête, -1 signifie retourner tous les résultats Non supporté

      Exemple de graph : (à utiliser pour les exemples suivants)

      (Tous les nodes et edges sont de schema @default)
      Exécutez les UQLs ci-dessous un par un dans un graphset vide pour créer des données de graph :

      create().edge_property(@default, "weight", int32)
      insert().into(@default).nodes([{_id:"A", _uuid:1}, {_id:"B", _uuid:2}, {_id:"C", _uuid:3}, {_id:"D", _uuid:4}, {_id:"E", _uuid:5}, {_id:"F", _uuid:6}])
      insert().into(@default).edges([{_uuid:1, _from_uuid:1, _to_uuid:3, weight:1}, {_uuid:2, _from_uuid:5, _to_uuid:2 , weight:1}, {_uuid:3, _from_uuid:1, _to_uuid:5 , weight:4}, {_uuid:4, _from_uuid:4, _to_uuid:3 , weight:2}, {_uuid:5, _from_uuid:5, _to_uuid:4 , weight:3}, {_uuid:6, _from_uuid:2, _to_uuid:1 , weight:2}, {_uuid:7, _from_uuid:6, _to_uuid:1 , weight:4}])
      

      Filtrer la Profondeur

      Trouver les edges à 1~2 sauts du node D, les retourner sous forme de chemins et transporter toutes les propriétés

      spread().src({_id == "D"}).depth(2) as e
      return e{*}
      

      A --1--> C
      E --5--> D
      A --3--> E
      D --4--> C
      E --2--> B
      B --6--> A
      

      Analyse : Les nodes de départ et d'arrivée de l'edge 6 sont à 2 sauts du node D, l'edge 6 est également considéré comme à 2 sauts du node D.

      Filtrer les Nodes Voisins

      Exemple : Trouver les edges à 1~2 sauts du node D, dont le chemin le plus court ne passe pas par le node E, les retourner sous forme de chemins et transporter toutes les propriétés

      spread().src({_id == "D"}).depth(2)
        .node_filter({_id != "E"}) as e
      return e{*}
      

      A --1--> C
      D --4--> C
      

      Analyse : Lorsque les chemins les plus courts ne doivent pas passer par le node E, cela équivaut à retirer le node E et ses edges adjacents 2, 3 et 5 du graph, auquel cas l'edge 6 est à 3 sauts du node D et n'est pas présent dans le résultat.

      Filtrer les Edges

      Exemple : Trouver les edges à 1~2 sauts du node D, dont le chemin le plus court ne passe pas par l'edge 5, les retourner sous forme de chemins et transporter toutes les propriétés

      spread().src({_id == "D"}).depth(2)
        .edge_filter({_uuid != 5}) as e
      return e{*}
      

      A --1--> C
      D --4--> C
      

      Analyse : Lorsque les chemins les plus courts ne doivent pas passer par l'edge 5, cela équivaut à retirer l'edge 5 du graph, auquel cas les edges 3 et 6 sont à 3 sauts du node D, l'edge 2 est à 4 sauts du node D.

      Filtrer la Direction des Edges

      Exemple : Trouver les edges à 1~2 sauts du node D, avec tous les edges pointant vers la droite, les retourner sous forme de chemins et transporter toutes les propriétés

      spread().src({_id == "D"}).depth(2)
        .direction(right) as e
      return e{*}
      

      D --4--> C
      

      Lorsque tous les edges dans le chemin le plus court pointent vers la droite (sortant), le node D n'a qu'un seul edge à 1 saut 4, et n'a pas d'edge à 2 sauts ou plus car le node de fin de l'edge 4 n'a pas d'edge sortant.

      Exemple : Trouver les edges à 1~2 sauts du node D, avec tous les edges pointant vers la gauche, les retourner sous forme de chemins et transporter toutes les propriétés

      spread().src({_id == "D"}).depth(2)
        .direction(left) as e
      return e{*}
      

      E --5--> D
      A --3--> E
      

      Analyse : Lorsque tous les edges dans le chemin le plus court pointent vers la gauche (entrant), le node D a un edge à 1 saut 5 et un edge à 2 sauts 3.

      Limiter le Résultat de la Sous-Requête

      Exemple : Trouver trois edges à 1~3 sauts du node D, les retourner sous forme de chemins et transporter toutes les propriétés

      spread().src({_id == "D"}).depth(3).limit(3) as e
      return e{*}
      

      E --5--> D
      A --3--> E
      D --4--> C
      
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写