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

      Modèles de Chemin

      Vue d’ensemble

      Un modèle de chemin sert à faire correspondre des chemins dans le graph et se compose de trois parties successives :

      <path pattern> ::=  
        [ <path variable declaration> ] [ <path pattern prefix> ] <path pattern expression>
      

      Expression de Modèle de Chemin

      L'expression de modèle de chemin est le cœur d'un modèle de chemin. Elle spécifie la séquence réelle de node et edge qui composent le chemin qui (1) commence et se termine par un node, et (2) alterne entre nodes et edges. Un chemin peut comprendre un seul node.

      Une expression de modèle de chemin peut être un simple terme de chemin, une union de modèles de chemin, ou une alternance de multiensembles de chemin; les deux derniers combinent plusieurs termes de chemin.

      <path pattern expression> ::=  
        <path term> | <path pattern union> | <path multiset alternation>
      

      Terme de Chemin

      Un terme de chemin consiste en un singleton ou une concaténation de modèles d'éléments, de modèles de chemins entre parenthèses, et de modèles de chemins quantifiés, en respectant les règles topologiques d'un chemin.

      <path term> ::= <path factor> [ <path factor>... ]
          
      <path factor> ::=  
        <element pattern> | <parenthesized path pattern> | <quantified path pattern>
      

      1. Modèle d'Élément

      Les modèles d'éléments peuvent être concaténés de manière récursive pour construire un chemin.

      Ce modèle de chemin part de Brainy, se connectant à un node étiqueté Club via un edge sortant étiqueté Joins, où p est la variable du chemin :

      p = (:User {name: 'Brainy'})-[:Joins]->(:Club)
      

      Vous pouvez continuer à enchaîner les modèles de edge et de node pour créer des modèles de chemin plus complexes. Ce modèle de chemin plus long décrit que Brainy et mochaeach ont tous deux rejoint certains clubs, le node club étant lié à la variable c :

      (:User {name: 'Brainy'})-[:Joins]->(c:Club)<-[:Joins]-(:User {name: 'mochaeach'})
      

      Ce modèle de chemin réutilise la variable a pour former une structure en anneau qui commence et se termine par le même node :

      (a:Account)-[:Owns]->(:Card)-[:Transfers]->(:Card)-[:Transfers]->(:Card)<-[:Owns]-(a)
      

      Lorsque deux modèles de node sont concaténés consécutivement, ils se lient au même node en considérant toutes les conditions de filtrage de manière conjonctive. Dans cet exemple, u1 et u2 fusionnent implicitement en (u1|u2:User {name: "Claire"}) (L'opérateur d'union | ici est uniquement à des fins d'illustration) :

      (u1:User)(u2 {name: "claire"})-[:Follows]-(u3)
      

      La juxtaposition des modèles de node est actuellement uniquement prise en charge pour les modèles de chemins quantifiés.

      Deux modèles de edge consécutifs ont conceptuellement un modèle de node vide entre eux. Dans cet exemple, le modèle de chemin s'étend implicitement à (:User)-[]-()-[]-(u) :

      (:User)-[]--[]-(u)
      

      Une expression de chemin ne doit pas juxtaposer un token qui expose un signe moins à droite (]-, <-, -) suivi d'un token exposant un signe moins à gauche (-[, ->, -), car cette combinaison introduit le symbole de commentaire --. Voir Commentaires.

      2. Modèle de Chemin Parenthésé

      Vous pouvez enfermer un sous-chemin ou le chemin entier dans une paire de parenthèses correspondantes () pour former un modèle de chemin parenthésé :

      <parenthesized path pattern> ::=  
        "(" [ <path mode prefix> ]
            <path pattern expression>
            [ <parenthesized path pattern where clause> ] ")"
      

      Le modèle de chemin parenthésé peut actuellement être utilisé uniquement avec un quantificateur pour former un modèle de chemin quantifié.

      3. Modèle de Chemin Quantifié

      Un quantificateur peut être apposé à un modèle de edge ou à un modèle de chemin parenthésé pour former un modèle de chemin quantifié, construisant un chemin de longueur variable.

      Union de Modèles de Chemin & Alternance de Multiensembles de Chemin

      <path pattern union> ::=  
        <path term> "|" <path term> [ { "|" <path term> }... ]
        
      <path multiset alternation> ::=  
        <path term> "|+|" <path term> [ { "|+|" <path term> }... ]
      

      L'union de modèles de chemin combine les termes de chemin à l'aide de la barre verticale |. Elle fusionne les enregistrements liés à la même variable tout en garantissant que les doublons sont supprimés.

      MATCH (:Club {code: "C01"})<-[:Joins]-(u:User) | (:Club {code: "C02"})<-[:Joins]-(u:User)
      RETURN COLLECT_LIST(u.name) AS names
      

      Résultat :

      noms
      ["rowlock", "lionbower", "mochaeach"]

      L'alternance de multiensembles de chemin combine les termes de chemin à l'aide de l'opérateur d'alternance de multiensemble |+|. Elle fusionne les enregistrements liés à la même variable tout en garantissant que les doublons sont retenus.

      MATCH (:Club {code: "C01"})<-[:Joins]-(u:User) |+| (:Club {code: "C02"})<-[:Joins]-(u:User)
      RETURN COLLECT_LIST(u.name) AS names
      

      Résultat :

      noms
      ["rowlock", "lionbower", "lionbower", "mochaeach"]

      Chaque terme de chemin dans l'union de modèles de chemin ou l'alternance de multiensembles de chemin ne peut référencer que des variables d'élément déclarées dans le terme de chemin. Par exemple, la requête suivante génère une erreur de syntaxe :

      MATCH (:Club {code: "C01"})<-[]-(a) | 
            (:Club {code: "C02"})<-[]-(b WHERE a.name = b.name)
      RETURN a, b
      

      Préfixe de Modèle de Chemin

      Il existe deux types de préfixes de modèle de chemin, préfixe de mode de chemin et préfixe de recherche de chemin qui peuvent être spécifiés pour restreindre ou sélectionner les résultats correspondants.

      <path pattern prefix> ::= <path mode prefix> | <path search prefix>
      
      <path mode prefix> ::= "TRAIL" | "SIMPLE" | "ACYCLIC" | "WALK"
      
      <path search prefix> ::= <all path> | <any path> | <shortest path>
      
      <all path> ::= "ALL" [ <path mode> ]
      
      <any path> ::= "ANY" [ <non negative integer> ] [ <path mode> ]
      
      <shortest path> ::=  
          "ALL SHORTEST" [ <path mode prefix> ]
        | "ANY SHORTEST" [ <path mode prefix> ]
        | "SHORTEST" <non negative integer> [ <path mode prefix> ] 
        | "SHORTEST" [ <non negative integer> ] [ <path mode prefix> ] < "GROUP" | "GROUPS" >
      

      Préfixe de Mode de Chemin

      Les préfixes de mode de chemin (ou restrictifs) contrôlent comment les chemins sont parcourus et si les nodes ou edges peuvent être revisités. Un restrictif peut être placé soit en tête d'une expression de modèle de chemin, soit en tête d'un modèle de chemin parenthésé.

      Restrictif
      Description
      TRAIL Par défaut. Les chemins avec des edges répétés ne sont pas retournés.
      ACYCLIC Les chemins avec des nodes répétés ne sont pas retournés.
      SIMPLE Les chemins avec des nodes répétés ne sont pas retournés à moins que ces nodes répétés soient le premier et le dernier dans le chemin.
      WALK Il est non restrictif.

      Les restrictifs ACYCLIC, SIMPLE et WALK ne sont pas encore pris en charge.

      Préfixe de Recherche de Chemin

      Les préfixes de recherche de chemin (ou sélecteurs) sélectionnent un ensemble fini de correspondances dans chaque partition[1]. Un sélecteur peut être placé uniquement en tête d'une expression de modèle de chemin.

      Sélecteur
      Description
      ALL Par défaut. Il n'est pas sélectif.
      ANY Sélectionne un chemin dans chaque partition. Non déterministe.
      ANY k Sélectionne k[2] chemins dans chaque partition. Non déterministe.
      ALL SHORTEST Sélectionne tous les chemins les plus courts dans chaque partition.
      SHORTEST k Sélectionne k chemins les plus courts dans chaque partition. Non déterministe.
      SHORTEST k GROUP Regroupe les chemins par longueur et trie les groupes en ordre croissant par longueur. Ensuite, sélectionne tous les chemins dans les k premiers groupes dans chaque partition. Déterministe.

      [1] Les chemins correspondants au modèle de chemin sont conceptuellement partitionnés par des paires distinctes de nodes de début et de fin.
      [2] k est un entier non-négatif. Si moins de k chemins existent, tous sont conservés. Lorsque k est manquant, il prend par défaut la valeur 1.

      Référez-vous à Chemins les Plus Courts pour plus d'informations sur les sélecteurs les plus courts. Lorsqu'un sélecteur le plus court est utilisé, le mode de chemin est obligatoirement défini sur TRAIL.

      Les sélecteurs ANY et ANY k ne sont pas encore pris en charge. L'utilisation explicite de ALL n'est pas non plus prise en charge.

      Utilisation Combinée

      Vous pouvez utiliser soit des restrictifs, soit les deux, et des sélecteurs dans un modèle de chemin. Les restrictifs peuvent être vus comme opérant pendant la correspondance de modèle tandis que les sélecteurs opèrent après.

      Cette requête retourne un seul chemin acyclique arbitraire à partir de la carte C01, passant par 1 à 3 edges sortants Transfers vers une autre carte :

      MATCH p = ANY ACYCLIC (c:Card {_id: 'C01'})-[:Transfers]->{1,3}(:Card)
      RETURN p
      

      L'expression du modèle de chemin pourrait potentiellement trouver 5 chemins. Premièrement, le chemin comprenant un node répété C02 est supprimé par le restrictif ACYCLIC. Le sélecteur ANY choisit alors aléatoirement un chemin dans chaque partition. En tout, trois chemins sont retournés.

      Variable de Chemin

      Une variable de chemin est déclarée en tête d'une expression de modèle de chemin à l'aide de l'opérateur =. La valeur d'une variable de chemin représente une liaison de chemin.

      La variable p est liée à des chemins connectant deux nodes quelconques via des edges sortants étiquetés Follows :

      MATCH p = ()-[:Follows]->()
      RETURN p
      

      Une variable de chemin ne peut être déclarée qu'une seule fois dans un modèle de graph. La requête suivante génère une erreur de syntaxe :

      MATCH p = ()-[:Follows]->(), p = ()-[:Purchases]->()
      RETURN p
      
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写