MicrosoftDocs / azure-docs

Open source documentation of Microsoft Azure
https://docs.microsoft.com/azure
Creative Commons Attribution 4.0 International
10.2k stars 21.35k forks source link

Cosoms Graph DB Vertex specification: outE missing #84261

Closed mattKorwel closed 2 years ago

mattKorwel commented 2 years ago

https://docs.microsoft.com/en-us/azure/cosmos-db/graph/gremlin-support#gremlin-wire-format states that

outE | This property contains a list of out edges from a vertex. Storing the adjacency information with vertex allows for fast execution of traversals. Edges are grouped based on their labels.

outE will be present on the vertex object. it is however not present. using the data from the .net quickstart i see a vertex with edges, but the edges are not returned. is there a flag to pass, if so this should be documented. is this a bug/

image

image

if this is a bug, it is a critical issue as easily referencing a vertices out edges is critical for fast query performance.

thanks!


Document Details

Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

MayankBargali-MSFT commented 2 years ago

@mattKorwel Thank you for your feedback! We will review and update as appropriate.

KalyanChanumolu-MSFT commented 2 years ago

@mattKorwel Thank you for the detailed feedback. This is being assigned to the content author to evaluate and update the documentation as appropriate.

SnehaGunda commented 2 years ago

@mattKorwel you would use the has filter like this: g.V().has('firstName', 'Thomas').outE()

image

mattKorwel commented 2 years ago

hi @SnehaGunda, yes i can use the oute step, but that's not what the docs say the behavior is. if that is not the behavior, the outV being stored on the document, the docs should change.

as an end user, being able to get the vertex is cheaper and quicker than the vertex and out steps.

manishmsfte commented 2 years ago

OutE is a separate step which needs to be performed to get the list of edges. If the intent is just to get the Vertex, you can use g.V() but if it is needed to get to the edges then it is needed to be explicitly used the step g.V().OutE()

"outE | This property contains a list of out edges from a vertex."

"Storing the adjacency information with vertex allows for fast execution of traversals."

Edges are grouped based on their labels.

Hope this helps.

manishmsfte commented 2 years ago

please-close