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èle K-Hop

      Vue d’ensemble

      La clause de modèle k-hop khop().n()...n() utilise un modèle de chemin pour interroger les voisins à k sauts des nodes de départ dans les chemins.

      Avec le modèle de chemin défini, la valeur de k dépend de la distance la plus courte entre deux nodes, comme expliqué dans la clause k-hop. De plus, les nodes retournés doivent satisfaire la condition définie pour les nodes de destination dans le modèle de chemin.

      K-Hop vs. Modèle K-Hop

      K-Hop
      Modèle K-Hop
      Nœuds de départ Unique Unique ou multiple
      Règles de filtrage pour les arêtes Toutes identiques Peuvent être différentes
      Règles de filtrage pour les nodes autres que les nodes de départ Toutes identiques Peuvent être différentes

      Modèle de Chemin vs. Modèle K-Hop

      Tout en réalisant la même fonction de requête, le modèle K-Hop offre généralement de meilleures performances que le modèle de chemin.

      Par exemple, les deux UQLs renvoient les mêmes résultats - le nombre d'annonces distinctes cliquées par un utilisateur. Il est important de noter que les nodes de destination retournés par le modèle de chemin ne sont pas automatiquement dédupliqués, alors que les résultats du modèle k-hop sont dédupliqués.

      // Modèle de Chemin
      n({_id == "u316591"}).e({@clicks}).n({@ad} as ads)
      return count(DISTINCT ads)
      
      // Modèle K-Hop
      khop().n({_id == "u316591"}).e({@clicks}).n({@ad}) as ads
      with count(ads)
      

      Syntaxe

      • Alias de clause : type NOEUD
      • Concernant le modèle de chemin :
        • Le n() initial doit avoir un filtre valide qui peut spécifier plusieurs nodes.
        • Les [<steps>] dans les modèles multi-arêtes e()[<steps>] et e().nf()[<steps>] ne prennent pas en charge le format [*:N], car la requête k-hop traverse automatiquement les chemins les plus courts.
        • Le filtrage entre les étapes n'est pas pris en charge, que ce soit en utilisant un alias système (prev_n, prev_e) ou un alias personnalisé.
      • Méthodes :
      Méthode
      Type de Param
      Spéc. Param
      Obligatoire
      Description
      Alias
      limit() Entier ≥-1 Non Nombre de voisins à k sauts à retourner pour chaque nœud de départ (notez que ce n'est pas pour chaque sous-requête), -1 signifie retourner tous N/A

      Exemples

      Exemple de Graph

      Exécutez ces UQLs ligne par ligne dans un graphset vide pour créer ce graph :

      create().node_schema("country").node_schema("movie").node_schema("director").node_schema("actor").edge_schema("filmedIn").edge_schema("direct").edge_schema("cast").edge_schema("bornIn")
      create().node_property(@*, "name")
      insert().into(@country).nodes([{_id:"C001", _uuid:1, name:"France"}, {_id:"C002", _uuid:2, name:"USA"}])
      insert().into(@movie).nodes([{_id:"M001", _uuid:3, name:"Léon"}, {_id:"M002", _uuid:4, name:"The Terminator"}, {_id:"M003", _uuid:5, name:"Avatar"}])
      insert().into(@director).nodes([{_id:"D001", _uuid:6, name:"Luc Besson"}, {_id:"D002", _uuid:7, name:"James Cameron"}])
      insert().into(@actor).nodes({_id:"A001", _uuid:8, name:"Zoe Saldaña"})
      insert().into(@filmedIn).edges([{_uuid:1, _from_uuid:3, _to_uuid:1}, {_uuid:2, _from_uuid:4, _to_uuid:1}, {_uuid:3, _from_uuid:4, _to_uuid:2}, {_uuid:4, _from_uuid:5, _to_uuid:2}])
      insert().into(@direct).edges([{_uuid:5, _from_uuid:6, _to_uuid:3}, {_uuid:6, _from_uuid:7, _to_uuid:4}, {_uuid:7, _from_uuid:7, _to_uuid:5}])
      insert().into(@cast).edges([{_uuid:8, _from_uuid:8, _to_uuid:5}])
      insert().into(@bornIn).edges([{_uuid:9, _from_uuid:8, _to_uuid:2}])
      

      Définir un Chemin de Longueur Fixe

      Trouver les voisins à 2 sauts de chaque pays qui peuvent être atteints par un certain chemin.

      khop().n({@country} as a).le({@filmedIn}).n({@movie}).le({@direct}).n({@director}) as b
      return table(a.name, b.name)
      

      Résultat :

      a.name b.name
      USA James Cameron
      France James Cameron
      France Luc Besson

      Définir un Chemin de Longueur Non Fixe

      Trouver les voisins à 1 et 2 sauts de chaque pays qui peuvent être atteints par un certain chemin.

      khop().n({@country} as a).e({!@direct})[:2].n({!@country}) as b
      return table(a.name, b.name)
      

      Résultat :

      a.name b.name
      USA Zoe Saldaña
      USA The Terminator
      USA Avatar
      France The Terminator
      France Léon

      Filtrage des Nœuds de Destination

      Trouver les voisins @director à 2 sauts de chaque pays.

      khop().n({@country} as a).e()[2].n({@director}) as b
      return table(a.name, b.name)
      

      Résultat :

      a.name b.name
      USA James Cameron
      France James Cameron
      France Luc Besson

      Prendre le Chemin le Plus Court

      Trouver les voisins @country à 2 sauts d'un acteur.

      khop().n({@actor.name == "Zoe Saldaña"}).e()[2].n({@country}) as a return a
      

      Résultat : Pas de données retournées.

      Même s'il existe un chemin en 2 étapes de l'acteur à un pays (Zoe Saldaña - [@cast] - Avatar - [filmedIn]- USA), ce n'est pas le chemin le plus court (Zoe Saldaña - [@bornIn] - USA) entre eux.

      Utiliser limit()

      Trouver un voisin à 1 saut pour chaque réalisateur qui peut être atteint par un certain chemin.

      khop().n({@director} as a).e({@direct}).n().limit(1) as b
      return table(a.name, b.name)
      

      Résultat :

      a.name b.name
      James Cameron The Terminator
      Luc Besson Léon

      Utiliser OPTIONAL

      Trouver les voisins @actor à 2 sauts de chaque pays qui peuvent être atteints par un certain chemin. Retourner null si aucun voisin n'est trouvé.

      find().nodes({@country}) as cty
      optional khop().n(cty).e({!@bornIn})[2].n({@actor}) as actor
      return table(cty.name, actor.name)
      

      Résultat :

      cty._id actor._id
      France null
      USA Zoe Saldaña
      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写