Självstudie: Fråga Azure Cosmos DB för Gremlin med hjälp av Gremlin

GÄLLER FÖR: Gremlin

Azure Cosmos DB API för Gremlin stöder Gremlin-frågor . Den här artikeln innehåller exempeldokument och frågor för att komma igång. En detaljerad Gremlin-referens finns i artikeln Gremlin-support.

Den här artikeln beskriver följande uppgifter:

  • Fråga efter data med Gremlin

Förutsättningar

För att de här frågorna ska fungera måste du ha ett konto i Azure Cosmos DB och ha diagramdata i containern. Har du detta? Slutför snabbstarten5 minuter för att skapa ett konto och fylla i databasen. Du kan köra följande frågor från Gremlin-konsolen eller din favoritdrivrutin för Gremlin.

Antal hörn i diagrammet

Följande kodfragment visar hur du räknar antalet hörn i diagrammet:

g.V().count()

Filter

Du kan använda filter med Gremlins has och hasLabel-steg, samt kombinera dem med hjälp av and, or och not för att skapa fler komplexa filter. Azure Cosmos DB innehåller schemaoberoende indexering av alla egenskaper i dina hörn och grader för snabba frågor:

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

Projektion

Du kan projicera vissa egenskaper i frågeresultaten med hjälp av steget values:

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

Hittills har vi endast sett frågeoperatorer som fungerar i alla databaser. Diagram är snabba och effektiva vid bläddringsåtgärder när du behöver navigera till relaterade kanter och hörn. Nu ska vi hitta alla Thomas vänner. Vi kan göra detta med hjälp av Gremlins outE-steg för att söka efter alla ut-kanter från Thomas och sedan bläddra till in-hörnen från dessa kanter med Gremlins inV-steg:

g.V('thomas').outE('knows').inV().hasLabel('person')

Nästa fråga utför två hopp för att hitta alla Thomas ”vänner till vänner”, genom att anropa outE och inV två gånger.

g.V('thomas').outE('knows').inV().hasLabel('person').outE('knows').inV().hasLabel('person')

Du kan skapa mer komplexa frågor och implementera kraftfull bläddringslogik i diagrammet med Gremlin, inklusive att blanda filteruttryck, utföra loopar med hjälp av loop-steget och implementera villkorlig navigering med hjälp av choose-steget. Läs mer om vad du kan göra med Gremlin-support!

Nästa steg

I den här självstudien har du gjort följande:

  • Lärt dig hur man frågar med Graph

Om du vill lära dig mer om Azure Cosmos DB fortsätter du till avsnittet Begrepp.