{"action":"created","issue":{"url":"https://api.github.com/repos/triAGENS/ArangoDB/issues/1217","labels_url":"https://api.github.com/repos/triAGENS/ArangoDB/issues/1217/labels{/name}","comments_url":"https://api.github.com/repos/triAGENS/ArangoDB/issues/1217/comments","events_url":"https://api.github.com/repos/triAGENS/ArangoDB/issues/1217/events","html_url":"https://github.com/triAGENS/ArangoDB/issues/1217","id":54979079,"number":1217,"title":"GRAPH_TRAVERSAL: Question or Feature Request","user":{"login":"clintwood","id":2149388,"avatar_url":"https://avatars.githubusercontent.com/u/2149388?v=3","gravatar_id":"","url":"https://api.github.com/users/clintwood","html_url":"https://github.com/clintwood","followers_url":"https://api.github.com/users/clintwood/followers","following_url":"https://api.github.com/users/clintwood/following{/other_user}","gists_url":"https://api.github.com/users/clintwood/gists{/gist_id}","starred_url":"https://api.github.com/users/clintwood/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/clintwood/subscriptions","organizations_url":"https://api.github.com/users/clintwood/orgs","repos_url":"https://api.github.com/users/clintwood/repos","events_url":"https://api.github.com/users/clintwood/events{/privacy}","received_events_url":"https://api.github.com/users/clintwood/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/triAGENS/ArangoDB/labels/Feature","name":"Feature","color":"02e10c"},{"url":"https://api.github.com/repos/triAGENS/ArangoDB/labels/graph","name":"graph","color":"66ff66"}],"state":"open","locked":false,"assignee":{"login":"mchacki","id":2317920,"avatar_url":"https://avatars.githubusercontent.com/u/2317920?v=3","gravatar_id":"","url":"https://api.github.com/users/mchacki","html_url":"https://github.com/mchacki","followers_url":"https://api.github.com/users/mchacki/followers","following_url":"https://api.github.com/users/mchacki/following{/other_user}","gists_url":"https://api.github.com/users/mchacki/gists{/gist_id}","starred_url":"https://api.github.com/users/mchacki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mchacki/subscriptions","organizations_url":"https://api.github.com/users/mchacki/orgs","repos_url":"https://api.github.com/users/mchacki/repos","events_url":"https://api.github.com/users/mchacki/events{/privacy}","received_events_url":"https://api.github.com/users/mchacki/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/triAGENS/ArangoDB/milestones/19","labels_url":"https://api.github.com/repos/triAGENS/ArangoDB/milestones/19/labels","id":888043,"number":19,"title":"Backlog","description":"","creator":{"login":"13abylon","id":1833374,"avatar_url":"https://avatars.githubusercontent.com/u/1833374?v=3","gravatar_id":"","url":"https://api.github.com/users/13abylon","html_url":"https://github.com/13abylon","followers_url":"https://api.github.com/users/13abylon/followers","following_url":"https://api.github.com/users/13abylon/following{/other_user}","gists_url":"https://api.github.com/users/13abylon/gists{/gist_id}","starred_url":"https://api.github.com/users/13abylon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/13abylon/subscriptions","organizations_url":"https://api.github.com/users/13abylon/orgs","repos_url":"https://api.github.com/users/13abylon/repos","events_url":"https://api.github.com/users/13abylon/events{/privacy}","received_events_url":"https://api.github.com/users/13abylon/received_events","type":"User","site_admin":false},"open_issues":65,"closed_issues":3,"state":"open","created_at":"2014-12-02T15:01:05Z","updated_at":"2015-01-22T09:40:57Z","due_on":null,"closed_at":null},"comments":6,"created_at":"2015-01-21T05:22:53Z","updated_at":"2015-01-26T10:18:27Z","closed_at":null,"body":"I use graphs a lot from AQL!  One of the things I find myself doing often is using the GRAPH_TRAVERSAL in AQL to find all **_leaf_** vertices for a given start vertex.\r\n\r\nIs there an easy way to do this?\r\nFor me this usually requires post filtering on the results or if the depth of all leaf vertices is known then by setting the minDepth and maxDepth options... but this does not work well for arbitrary depth graphs or leaf vertices with arbitrary document types...\r\n\r\nIf there is no easy way to solve this use case then I'd like to propose a\r\n***Feature Request: negative values for minDepth & maxDepth to specify depth from leaf vertices***\r\nas shown below:\r\n\r\nGiven a graph with vertices (obviously with edges between them) like:\r\n```\r\nstart - A - B - C - D\r\n      \\ A - F - P\r\n```\r\nusing options `{minDepth: -1, maxDepth: -1}` should yield vertices D & P\r\nusing options `{minDepth: -2, maxDepth: -3}` should yield vertices C, B & F, A\r\netc.\r\n\r\nThis is similar in concept to the JavaScript Array.prototype.slice function.\r\n"},"comment":{"url":"https://api.github.com/repos/triAGENS/ArangoDB/issues/comments/71439482","html_url":"https://github.com/triAGENS/ArangoDB/issues/1217#issuecomment-71439482","issue_url":"https://api.github.com/repos/triAGENS/ArangoDB/issues/1217","id":71439482,"user":{"login":"jsteemann","id":1423118,"avatar_url":"https://avatars.githubusercontent.com/u/1423118?v=3","gravatar_id":"","url":"https://api.github.com/users/jsteemann","html_url":"https://github.com/jsteemann","followers_url":"https://api.github.com/users/jsteemann/followers","following_url":"https://api.github.com/users/jsteemann/following{/other_user}","gists_url":"https://api.github.com/users/jsteemann/gists{/gist_id}","starred_url":"https://api.github.com/users/jsteemann/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jsteemann/subscriptions","organizations_url":"https://api.github.com/users/jsteemann/orgs","repos_url":"https://api.github.com/users/jsteemann/repos","events_url":"https://api.github.com/users/jsteemann/events{/privacy}","received_events_url":"https://api.github.com/users/jsteemann/received_events","type":"User","site_admin":false},"created_at":"2015-01-26T10:18:27Z","updated_at":"2015-01-26T10:18:27Z","body":"Just another idea that @mchacki had: do not use a separate visitor (like the expandVisitor), but pass the connections determined by the expander function to the visitor function as an optional argument. This way everything could be done with a single visitor function (that could determine the leave nodes or anything else). If this is the way to go, then we would make this available from AQL via specifying user functions as visitor."}}