Delen via


Zelfstudie: Query's uitvoeren op Azure Cosmos DB voor Gremlin met behulp van Gremlin

VAN TOEPASSING OP: Gremlin

De Azure Cosmos DB-API voor Gremlin ondersteunt Gremlin-query's. Dit artikel bevat voorbeelddocumenten en query's waarmee u direct aan de slag kunt. Een gedetailleerde Gremlin-verwijzing vindt u in het artikel Gremlin-ondersteuning.

Dit artikel behandelt de volgende taken:

  • Gegevens opvragen met behulp van Gremlin

Vereisten

Deze query's werken alleen als u een Azure DB Cosmos DB-account hebt en een container met grafiekgegevens. Hebt u geen van beide? Voltooi de quickstart van 5 minuten om een account te maken en uw database te vullen. U kunt de volgende query's uitvoeren met behulp van de Gremlin-console of uw favoriete Gremlin-stuurprogramma.

Hoekpunten in de grafiek tellen

In het volgende fragment ziet u hoe u het aantal hoekpunten in de grafiek telt:

g.V().count()

Filters

U kunt filters toepassen met behulp van de stappen has en hasLabel en deze combineren met and, or en not om complexere filters samen te stellen. Azure Cosmos DB biedt schema-agnostische indexering van alle eigenschappen in uw hoekpunten en graden voor snelle query's:

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

Projectie

U kunt bepaalde eigenschappen in de queryresultaten projecteren met de stap values:

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

Tot nu toe hebt u alleen query's gezien die in elke database werken. Grafieken zijn snel en efficiƫnt voor overdrachtbewerkingen wanneer u naar gerelateerde randen en hoekpunten moet navigeren. We gaan alle vrienden van Thomas zoeken. Daarvoor gebruiken we stap outE van Gremlin om alle uitgaande randen van Thomas te zoeken en vervolgens vanuit die randen de inkomende hoekpunten te onderzoeken met behulp van stap inV van Gremlin:

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

Met de volgende query worden twee hops uitgevoerd om alle 'vrienden van vrienden' van Thomas te vinden, door outE en inV twee keer aan te roepen.

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

U kunt complexere query's maken en krachtige logica voor grafiekdoorkruising implementeren met Gremlin, met inbegrip van het combineren van filterexpressies, het uitvoeren van lusconstructies met stap loop en de implementatie van voorwaardelijke navigatie met stap choose. Meer informatie over wat u kunt doen kunt Gremlin-ondersteuning

Volgende stappen

In deze zelfstudie hebt u het volgende gedaan:

  • U hebt geleerd hoe u een query uitvoert met behulp van Graph

U kunt nu doorgaan naar de sectie Concepten voor meer informatie over Azure Cosmos DB.