Samouczek: wykonywanie zapytań w usłudze Azure Cosmos DB dla języka Gremlin przy użyciu języka Gremlin
DOTYCZY: Gremlin
Interfejs API usługi Azure Cosmos DB dla języka Gremlin obsługuje zapytania języka Gremlin . W tym artykule udostępniono przykładowe dokumenty i zapytania ułatwiające rozpoczęcie pracy. Szczegółowa dokumentacja dotycząca języka Gremlin została podana w artykule Obsługa języka Gremlin.
W tym artykule opisano następujące zadania:
- Wykonywanie zapytań na danych przy użyciu języka Gremlin
Wymagania wstępne
Aby te zapytania działały, musisz mieć konto usługi Azure Cosmos DB i mieć dane grafu w kontenerze. Nie spełniasz tych warunków? Ukończ 5-minutowy przewodnik Szybki start , aby utworzyć konto i wypełnić bazę danych. Poniższe zapytania możesz uruchomić przy użyciu konsoli Gremlin lub ulubionego sterownika Gremlin.
Liczba wierzchołków grafu
Poniższy fragment kodu pokazuje sposób obliczania liczby wierzchołków grafu:
g.V().count()
Filtry
Filtry można wykonywać przy użyciu kroków has
i hasLabel
, a także łączyć je przy użyciu operatorów and
, or
i not
w celu utworzenia bardziej złożonych filtrów. Usługa Azure Cosmos DB zapewnia niezależne od schematów indeksowanie wszystkich zależności w wierzchołkach i stopniach na potrzeby szybkich zapytań:
g.V().hasLabel('person').has('age', gt(40))
Projekcja
Pewne właściwości wyników zapytania można poddawać projekcji za pomocą kroku values
:
g.V().hasLabel('person').values('name')
Znajdowanie powiązanych krawędzi i wierzchołków
Jak dotąd przedstawiono tylko operatory zapytań, które działają w dowolnej bazie danych. Grafy są szybkie i wydajne dla operacji przechodzenia, gdy trzeba przejść do powiązanych krawędzi i wierzchołków. Znajdźmy wszystkich znajomych Thomasa. Możemy to zrobić, używając kroku outE
języka Gremlin w celu znalezienia wszystkich krawędzi wychodzących od Thomasa, a następnie przechodząc do wierzchołków z tych krawędzi przy użyciu kroku inV
języka Gremlin:
g.V('thomas').outE('knows').inV().hasLabel('person')
Następne zapytanie wykonuje dwa przeskoki w celu znalezienia wszystkich „znajomych znajomych” Thomasa, wywołując outE
i inV
dwa razy.
g.V('thomas').outE('knows').inV().hasLabel('person').outE('knows').inV().hasLabel('person')
Możesz tworzyć bardziej złożone zapytania i implementować zaawansowaną logikę przechodzenia grafu za pomocą języka Gremlin, w tym mieszanie wyrażeń filtrowania, wykonywanie zapętlenia przy użyciu kroku loop
i implementowanie nawigacji warunkowej przy użyciu kroku choose
. Dowiedz się więcej o tym, co można zrobić dzięki obsłudze języka Gremlin.
Następne kroki
W tym samouczku wykonano następujące czynności:
- Przedstawiono sposób wykonywania zapytań przy użyciu programu Graph
Teraz możesz przejść do sekcji Pojęcia, aby uzyskać więcej informacji na temat usługi Azure Cosmos DB.