Gremlin GraphTraversalSource 产生一个随机的 GraphTraversal
Gremlin GraphTraversalSource spawn a random GraphTraversal
我正在尝试仅使用一个 GraphTraversal 将所有顶点添加到远程图形数据库。
但是,我
无法使添加查询像这样在一起:
GraphTraversalSource source = ...;
source.addV().addV().....next();
因为我需要做处理得到每个顶点,
我认为结构是这样的:
GraphTraversalSource source = ...;
GraphTraversal g = source.??; <create a graph traversal>
while (condition)
{
...
g.addV();
}
...
g.next();
想法是 GraphTraversalSource 产生一个 graphTraversal 并且它可以被传递,
最后我使用终止步骤将命令发送到远程图形数据库。
但是,我不确定如何让 GraphTraversalSource 在这种情况下创建合适的 GraphTraversal,source.V() 是否合适?我认为这可能会创建不必要的步骤来查找所有顶点。
您可以inject()
一个一次性对象来启动流:
GraphTraversalSource g = ...;
GraphTraversal t = g.inject(0);
while (condition)
{
...
t.addV();
}
...
t.iterate();
有些人不喜欢这样,我想在这种情况下,我猜你必须进行某种 null
检查:
GraphTraversalSource g = ...;
GraphTraversal t = null;
while (condition)
{
...
if (null == t)
{
t = g.addV();
}
else
{
t.addV();
}
...
}
...
t.iterate();
就我个人而言,如果你用 Gremlin 的术语来思考,我认为 g.inject(0)
很有意义,但我可以看到其他人可能更喜欢更明确地创建 t
。
我正在尝试仅使用一个 GraphTraversal 将所有顶点添加到远程图形数据库。
但是,我
无法使添加查询像这样在一起:
GraphTraversalSource source = ...;
source.addV().addV().....next();
因为我需要做处理得到每个顶点, 我认为结构是这样的:
GraphTraversalSource source = ...;
GraphTraversal g = source.??; <create a graph traversal>
while (condition)
{
...
g.addV();
}
...
g.next();
想法是 GraphTraversalSource 产生一个 graphTraversal 并且它可以被传递, 最后我使用终止步骤将命令发送到远程图形数据库。
但是,我不确定如何让 GraphTraversalSource 在这种情况下创建合适的 GraphTraversal,source.V() 是否合适?我认为这可能会创建不必要的步骤来查找所有顶点。
您可以inject()
一个一次性对象来启动流:
GraphTraversalSource g = ...;
GraphTraversal t = g.inject(0);
while (condition)
{
...
t.addV();
}
...
t.iterate();
有些人不喜欢这样,我想在这种情况下,我猜你必须进行某种 null
检查:
GraphTraversalSource g = ...;
GraphTraversal t = null;
while (condition)
{
...
if (null == t)
{
t = g.addV();
}
else
{
t.addV();
}
...
}
...
t.iterate();
就我个人而言,如果你用 Gremlin 的术语来思考,我认为 g.inject(0)
很有意义,但我可以看到其他人可能更喜欢更明确地创建 t
。