diff --git a/query/gremlin/build_iterator.go b/query/gremlin/build_iterator.go index 95a8652..511a83e 100644 --- a/query/gremlin/build_iterator.go +++ b/query/gremlin/build_iterator.go @@ -128,7 +128,7 @@ func buildPathFromObject(obj *otto.Object) *path.Path { if subobj == nil { return nil } - return p.And(buildPathFromObject(subobj)) + return p.Or(buildPathFromObject(subobj)) case "Back": if len(stringArgs) != 1 { return nil diff --git a/query/gremlin/gremlin_test.go b/query/gremlin/gremlin_test.go index 3ae992d..f7468cf 100644 --- a/query/gremlin/gremlin_test.go +++ b/query/gremlin/gremlin_test.go @@ -186,6 +186,13 @@ var testQueries = []struct { `, expect: []string{"charlie"}, }, + { + message: "test Or()", + query: ` + g.V("bob").Out("follows").Or(g.V().Has("status", "cool_person")).All() + `, + expect: []string{"fred", "bob", "greg", "dani"}, + }, // Gremlin Has tests. {