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 snabbstarten på 5 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')
Hitta relaterade kanter och hörn
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.