Kurz: Dotazování rozhraní Gremlin API služby Azure Cosmos DB pomocí GremlinTutorial: Query Azure Cosmos DB Gremlin API by using Gremlin

Rozhraní Gremlin API služby Azure Cosmos DB podporuje dotazy Gremlin.The Azure Cosmos DB Gremlin API supports Gremlin queries. Tento článek poskytuje ukázkové dokumenty a dotazy, které vám pomůžou začít.This article provides sample documents and queries to get you started. Podrobné referenční informace ke Gremlin najdete v článku Podpora Gremlin.A detailed Gremlin reference is provided in the Gremlin support article.

Tento článek se zabývá následujícími úkony:This article covers the following tasks:

  • Dotazování dat pomocí GremlinQuerying data with Gremlin

PožadavkyPrerequisites

Aby tyto dotazy fungovaly, musíte mít účet služby Azure Cosmos DB a data grafu v kontejneru.For these queries to work, you must have an Azure Cosmos DB account and have graph data in the container. Něco z toho nemáte?Don't have any of those? Vytvořte účet a naplňte databázi dokončením 5minutového rychlého startu nebo kurzu pro vývojáře.Complete the 5-minute quickstart or the developer tutorial to create an account and populate your database. Následující dotazy můžete spustit pomocí konzoly Gremlin nebo oblíbeného ovladače Gremlin.You can run the following queries using the Gremlin console, or your favorite Gremlin driver.

Výpočet vrcholů v grafuCount vertices in the graph

Následující fragment kódu ukazuje, jak vypočítat počet vrcholů v grafu:The following snippet shows how to count the number of vertices in the graph:

g.V().count()

FiltryFilters

Můžete provádět filtrování pomocí kroků Gremlin has a hasLabel a jejich kombinací pomocí operátorů and, or a not vytvářet složitější filtry.You can perform filters using Gremlin's has and hasLabel steps, and combine them using and, or, and not to build more complex filters. Azure Cosmos DB poskytuje na schématu nezávislé indexování všech vlastností v rámci vrcholů a stupňů pro zajištění rychlých dotazů: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))

ProjekceProjection

Do výsledků dotazu můžete promítnout určité vlastnosti pomocí kroku values:You can project certain properties in the query results using the values step:

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

Zatím jsme viděli pouze operátory dotazu, které fungují v jakékoli databázi.So far, we've only seen query operators that work in any database. Grafy jsou rychlé a efektivní pro operace procházení, kdy potřebujete přecházet k souvisejícím hranám a vrcholům.Graphs are fast and efficient for traversal operations when you need to navigate to related edges and vertices. Teď najdeme všechny přátele Thomase.Let's find all friends of Thomas. Provedeme to pomocí kroku Gremlin outE, kterým vyhledáme všechny vnější hrany od Thomase, a pak pomocí kroku Gremlin inV přejdeme z těchto hran k vnitřním vrcholům: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')

Další dotaz provádí dva segmenty směrování a dvojím zavoláním kroků outE a inV vyhledá všechny přátele přátel Thomase.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')

Pomocí Gremlin můžete vytvářet i složitější dotazy a implementovat výkonnou logiku procházení grafů, včetně kombinování výrazů filtru, provádění smyček pomocí kroku loop a implementace podmíněné navigace pomocí 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. Získejte další informace o tom, co můžete provádět díky podpoře Gremlin.Learn more about what you can do with Gremlin support!

Další krokyNext steps

V tomto kurzu jste provedli následující:In this tutorial, you've done the following:

  • Zjistili jste, jak provádět dotazy pomocí Graphu.Learned how to query using Graph

Teď můžete přejít k části Koncepty, která obsahuje další informace o službě Cosmos DB.You can now proceed to the Concepts section for more information about Cosmos DB.