Udostępnij za pośrednictwem


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')

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.