2016-01-06 32 views
5

podczas wykonywania następujących przechodzenia przez:Jaki mechanizm jest używany do określenia bezwzględnej kolejności wierzchołków w tinkerpop/titan?

graph.addVertex("a") 
graph.addVertex("b") 
graph.addVertex("c") 

graph.traversal().V().range(0,2) 
graph.traversal().V().range(2,3) 

Co decyduje o kolejności, w jakiej ja dostać te wierzchołki z powrotem przy użyciu funkcjonalności zakresie? Czy mam zagwarantowane, że otrzymam wszystkie trzy wierzchołki a, b i c?

Odpowiedz

4

Bez wyraźnego order().by() nie należy oczekiwać zamówienia gwarantowanego.

Od docs TinkerPop:

dojść do przejścia nigdy nie są sortowane, chyba że wyraźnie za pomocą order() -step. Dlatego nigdy nie należy polegać na kolejności iteracji między wydaniami TinkerPop3 , a nawet w ramach wydania (optymalizacje ruchu mogą zmienić przepływ).

+0

Moje testy jednostkowe pokazują, że to działa w tej chwili. Czy domyślnie używa czegoś takiego jak identyfikator wierzchołka czy jest to po prostu "szczęście"? – Sheldon

+0

To tylko szczęście i nikt nie może zagwarantować, że nadal będziesz widział tę samą domyślną kolejność w następnej wersji TinkerPop. –