【问题标题】:How to query/search/retrieve an Edge with a pair of Vertices in OrientDB using Java API?如何使用 Java API 在 OrientDB 中使用一对顶点查询/搜索/检索边缘?
【发布时间】:2016-12-18 07:04:18
【问题描述】:

我正在使用 OrientDB 和 Java API 开发一个 Web 应用程序。我发现它正在创建(即保存)具有相同顶点的重复边。

如何查询是否存在边(对于同一对顶点)。 (如果它们不存在,我将使用这对顶点创建一个新边。)

已使用类名在 OrientDB 中成功创建 Edge,使用:

openGraphNoTx.createEdgeType("Friendship");

Edge 已成功添加如下:

openGraphTx.addEdge(null, fanV, influencerV, "Friendship");

所以,我想使用 fanV 和fluencerV 顶点进行查询/搜索,以检索任何现有的 Edge(如果它已经存在)。我该怎么做?

我尝试使用:

fanV.query() ... 并构建查询,然后 fanV.edges()... 但是 不知道如何设置查询参数。

fanV.getEdges(Direction.IN,friend.getId().toString()); ... ???不能 确定如何设置查询参数。

...但想不通。

任何关于如何在 Java 中搜索/查询/检索边缘的帮助将不胜感激。谢谢!

【问题讨论】:

    标签: java orientdb graph-databases tinkerpop blueprint


    【解决方案1】:

    我自己找到了答案:

    OrientVertex fanOrientV = transaction.getVertex(fanV.getId());
    OrientVertex friendOrientV = transaction.getVertex(friendV.getId());
    Iterable<Edge> edgesIterable = fanOrientV.getEdges(friendOrientV, Direction.OUT, "Friendship";
    

    ... 将检索任何现有的友谊边缘。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-23
      相关资源
      最近更新 更多