Skip to content

Instantly share code, notes, and snippets.

@xximjasonxx
Created May 1, 2022 19:44
Show Gist options
  • Save xximjasonxx/eb29799f302d9e2195e186ef8bad018c to your computer and use it in GitHub Desktop.
Save xximjasonxx/eb29799f302d9e2195e186ef8bad018c to your computer and use it in GitHub Desktop.
public static async Task<List<Person>> GetAncestors(Person vertex, IGremlinQuerySour
{
var ancestors = await querySource.V<Person>(vertex.Id)
.Out<ChildOf>()
.Cast<Person>()
.ToArrayAsync();
if (ancestors.Count() == 0)
{
return ancestors.ToList();
}
var ancestorsReturn = new List<Person>(ancestors);
foreach (var ancestor in ancestors)
{
ancestorsReturn.AddRange(await GetAncestors(ancestor, querySource));
}
return ancestorsReturn;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment