2017-07-18 45 views
6

Próbuję użyć AQL do aktualizacji całej kolekcji węzłów o nazwie Węzły, w zależności od rodzaju krawędzi mają one .Właściwości aktualizacji Arangodb zależą od typu krawędzi

Wymagania:

  • Zasadniczo, jeśli 2 podmiot Węzły ma typ relacji = "same", to oni być na bieżąco z unikalnych GroupID właściwości (dla więcej niż 2)
  • Ten byłoby to tylko jeden raz na początku (do zapełnienia GroupID)

Moje podejście pojęcie:

  • Zastosowanie AQL
  • Dla każdego podmiotu wewnątrz Węzła, kwerendy wszystkie możliwe do połączenia węzłów z type = SAME
  • Generowanie identyfikator grupy i zaktualizować wszystkie z nich
  • Zapis do obiektu przeglądowej tych id
  • Dla następnego obiektu wykonaj wyszukiwanie, pomiń element, jeśli jego id jest tam.

Co próbowałem

FOR v,e,p 
In 1..10 
ANY v 
EntityRelationTest 
OPTIONS {uniqueVertices:"global",bfs:true} 
FILTER p.edges[*].relationType[0]== "EQUALS" 
UPDATE v WITH { typeName2:"test1"} IN EntityTest 
return NEW 

Ale jestem zupełnie nowy w arangodb AQL, jest coś takiego jak powyżej to możliwe?

Odpowiedz

0

Ostatecznie używam dostosowanego obiektu traversal, który jest uruchamiany bezpośrednio w Foxx, aby uzyskać najlepsze cechy obu światów: wydajność i poprawność. Wydawało się, że nie możemy tego zrobić tylko z AQL

Powiązane problemy