{"action":"created","issue":{"url":"https://api.github.com/repos/tinkerpop/tinkerpop3/issues/534","labels_url":"https://api.github.com/repos/tinkerpop/tinkerpop3/issues/534/labels{/name}","comments_url":"https://api.github.com/repos/tinkerpop/tinkerpop3/issues/534/comments","events_url":"https://api.github.com/repos/tinkerpop/tinkerpop3/issues/534/events","html_url":"https://github.com/tinkerpop/tinkerpop3/issues/534","id":56032847,"number":534,"title":"values(...) should preserve the given order","user":{"login":"dkuppitz","id":572377,"avatar_url":"https://avatars.githubusercontent.com/u/572377?v=3","gravatar_id":"","url":"https://api.github.com/users/dkuppitz","html_url":"https://github.com/dkuppitz","followers_url":"https://api.github.com/users/dkuppitz/followers","following_url":"https://api.github.com/users/dkuppitz/following{/other_user}","gists_url":"https://api.github.com/users/dkuppitz/gists{/gist_id}","starred_url":"https://api.github.com/users/dkuppitz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dkuppitz/subscriptions","organizations_url":"https://api.github.com/users/dkuppitz/orgs","repos_url":"https://api.github.com/users/dkuppitz/repos","events_url":"https://api.github.com/users/dkuppitz/events{/privacy}","received_events_url":"https://api.github.com/users/dkuppitz/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/tinkerpop/tinkerpop3/labels/enhancement","name":"enhancement","color":"009800"},{"url":"https://api.github.com/repos/tinkerpop/tinkerpop3/labels/process","name":"process","color":"bfdadc"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-01-30T13:25:14Z","updated_at":"2015-02-19T15:43:57Z","closed_at":"2015-02-19T15:43:57Z","body":"If you provide i list of property keys for ```values()```, the order is not preserved. The result you get can be totally mixed up.\r\n\r\n```groovy\r\ngremlin> g.V(3).values(\"lang\",\"name\")\r\n==>lop\r\n==>java\r\n```\r\n\r\nNow I would expect that *lop* is the *lang* and *java* the *name*. **If** the order would be preserved, there would be an easy solution for the use-case described in #533.\r\n\r\nThe question is: Is there a reason why ```.values(...)``` doesn't care about the order?"},"comment":{"url":"https://api.github.com/repos/tinkerpop/tinkerpop3/issues/comments/75074182","html_url":"https://github.com/tinkerpop/tinkerpop3/issues/534#issuecomment-75074182","issue_url":"https://api.github.com/repos/tinkerpop/tinkerpop3/issues/534","id":75074182,"user":{"login":"okram","id":148925,"avatar_url":"https://avatars.githubusercontent.com/u/148925?v=3","gravatar_id":"","url":"https://api.github.com/users/okram","html_url":"https://github.com/okram","followers_url":"https://api.github.com/users/okram/followers","following_url":"https://api.github.com/users/okram/following{/other_user}","gists_url":"https://api.github.com/users/okram/gists{/gist_id}","starred_url":"https://api.github.com/users/okram/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/okram/subscriptions","organizations_url":"https://api.github.com/users/okram/orgs","repos_url":"https://api.github.com/users/okram/repos","events_url":"https://api.github.com/users/okram/events{/privacy}","received_events_url":"https://api.github.com/users/okram/received_events","type":"User","site_admin":false},"created_at":"2015-02-19T15:43:57Z","updated_at":"2015-02-19T15:43:57Z","body":"`values()` is very similar to `outE`, `inE`, etc. If we make `values()` ordered, it would imply that `outE('knows','created')` would be ordered to -- i.e. all the knows and then all the created. Moreover, `values()` also has the problem that it could have multiple values for the same property.\r\n\r\n```groovy\r\nv.values('name','age')\r\n==>marko\r\n==>ma rodriguez\r\n==>32\r\n==>35\r\n==>37\r\n```\r\n\r\nis `ma rodriguez` and age? As such, I think its best to not tell the user there is an order......... "}}