Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/45.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我使用GremlinPipeline时,它返回重复的节点_Java_Gremlin_Titan - Fatal编程技术网

Java 当我使用GremlinPipeline时,它返回重复的节点

Java 当我使用GremlinPipeline时,它返回重复的节点,java,gremlin,titan,Java,Gremlin,Titan,我使用Titan Graph数据库0.4.1版本。我有一个有向图,我试图找到一个节点的邻居。我使用具有以下代码的GremlinPipeLine: GremlinPipeline<String, Vertex> pipe = new GremlinPipeline<String, Vertex>(vertex).both("similar"); 上述函数返回节点32两次。有没有办法用GremlinPipeline过滤这个问题,或者我应该手动过滤 另外,也可以使用任何其他方

我使用Titan Graph数据库0.4.1版本。我有一个有向图,我试图找到一个节点的邻居。我使用具有以下代码的GremlinPipeLine:

GremlinPipeline<String, Vertex> pipe = new GremlinPipeline<String, Vertex>(vertex).both("similar");
上述函数返回节点32两次。有没有办法用GremlinPipeline过滤这个问题,或者我应该手动过滤

另外,也可以使用任何其他方法查找节点的邻居。

您可以使用重复数据消除和映射来执行类似于Gremlin DISTINCT的等效查询:

GremlinPipeline<String, Vertex> pipe = new GremlinPipeline<String, Vertex>(vertex).both("similar").dedup(new PipeFunction<Vertex,String>() {
  public String compute(Vertex vertex) {
    return vertex.id;
  }
}).back(1);
最后一个back返回的结果与两个调用的结果相同

GremlinPipeline<String, Vertex> pipe = new GremlinPipeline<String, Vertex>(vertex).both("similar").dedup(new PipeFunction<Vertex,String>() {
  public String compute(Vertex vertex) {
    return vertex.id;
  }
}).back(1);