Samouczek: wykonywanie zapytań względem interfejsu API języka Gremlin w usłudze Azure Cosmos DB przy użyciu języka GremlinTutorial: Query Azure Cosmos DB Gremlin API by using Gremlin

Interfejs API języka Gremlin w usłudze Azure Cosmos DB obsługuje zapytania w języku Gremlin.The Azure Cosmos DB Gremlin API supports Gremlin queries. W tym artykule udostępniono przykładowe dokumenty i zapytania ułatwiające rozpoczęcie pracy.This article provides sample documents and queries to get you started. Szczegółowa dokumentacja dotycząca języka Gremlin została podana w artykule Obsługa języka Gremlin.A detailed Gremlin reference is provided in the Gremlin support article.

W tym artykule opisano następujące zadania:This article covers the following tasks:

  • Wykonywanie zapytań na danych przy użyciu języka GremlinQuerying data with Gremlin

Wymagania wstępnePrerequisites

Aby te zapytania działały, musisz mieć konto usługi Azure Cosmos DB i mieć dane grafu w kontenerze.For these queries to work, you must have an Azure Cosmos DB account and have graph data in the container. Nie spełniasz tych warunków?Don't have any of those? Ukończ 5-minutowy przewodnik Szybki start lub samouczek dewelopera, aby utworzyć konto i wypełnić bazę danych.Complete the 5-minute quickstart or the developer tutorial to create an account and populate your database. Poniższe zapytania możesz uruchomić przy użyciu konsoli Gremlin lub ulubionego sterownika Gremlin.You can run the following queries using the Gremlin console, or your favorite Gremlin driver.

Liczba wierzchołków grafuCount vertices in the graph

Poniższy fragment kodu pokazuje sposób obliczania liczby wierzchołków grafu:The following snippet shows how to count the number of vertices in the graph:

g.V().count()

FiltryFilters

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.You can perform filters using Gremlin's has and hasLabel steps, and combine them using and, or, and not to build more complex filters. 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ń:Azure Cosmos DB provides schema-agnostic indexing of all properties within your vertices and degrees for fast queries:

g.V().hasLabel('person').has('age', gt(40))

ProjekcjaProjection

Pewne właściwości wyników zapytania można poddawać projekcji za pomocą kroku values:You can project certain properties in the query results using the values step:

g.V().hasLabel('person').values('firstName')

Jak dotąd przedstawiono tylko operatory zapytań, które działają w dowolnej bazie danych.So far, we've only seen query operators that work in any database. Grafy są szybkie i wydajne dla operacji przechodzenia, gdy trzeba przejść do powiązanych krawędzi i wierzchołków.Graphs are fast and efficient for traversal operations when you need to navigate to related edges and vertices. Znajdźmy wszystkich znajomych Thomasa.Let's find all friends of Thomas. 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:We do this by using Gremlin's outE step to find all the out-edges from Thomas, then traversing to the in-vertices from those edges using Gremlin's inV step:

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.The next query performs two hops to find all of Thomas' "friends of friends", by calling outE and inV two times.

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.You can build more complex queries and implement powerful graph traversal logic using Gremlin, including mixing filter expressions, performing looping using the loop step, and implementing conditional navigation using the choose step. Dowiedz się więcej o tym, co można zrobić dzięki obsłudze języka Gremlin.Learn more about what you can do with Gremlin support!

Następne krokiNext steps

W tym samouczku wykonano następujące czynności:In this tutorial, you've done the following:

  • Przedstawiono sposób wykonywania zapytań przy użyciu programu GraphLearned how to query using Graph

Teraz możesz przejść do sekcji Pojęcia, aby uzyskać więcej informacji na temat usługi Cosmos DB.You can now proceed to the Concepts section for more information about Cosmos DB.