2013-04-29 55 views
1

我被gremlin困住了。我有像数组这样的电子邮件,我需要查询才能找到所有使用这些电子邮件的用户。像SQL IN运算符那样的Gremlin查询?

在SQL我有

SELECT email(s) 
FROM user 
WHERE email IN (xxx, yyy...) 

我怎样才能小鬼查询语言做到这一点?

回答

0

如果它是可以接受的,你做的所有顶点的线性扫描,那么你可以这样做:

gremlin> g = TinkerGraphFactory.createTinkerGraph() 
==>tinkergraph[vertices:6 edges:6] 
gremlin> s = ['marko','josh'] as Set 
==>marko 
==>josh 
gremlin> g.V.filter{s.contains(it.name)}.name 
==>marko 
==>josh 
+1

这个问题上也出现了neo4j邮件列表(https://groups.google.com/forum/#!topic/neo4j/pgAHqbjumjc)marko提供了这种使用索引的方法,因此避免了线性扫描:'[“[email protected]”, “[email protected]”]。collect {gV('email',it).name.next()}' – 2013-04-29 14:59:46

0

GV(“表名”,“用户”)有(“电子邮件”,在[XXX,YYY ....])变换({[ '电子邮件':it.getProperty( '电子邮件')]}) //假设u有一个表名属性

+0

欢迎来到th e社区,并感谢您的回答。但是,请确保将来您的代码格式正确。提供关于你的代码的简要解释也很好。 – dayuloli 2015-03-11 06:39:18