如何使用 Java API 在 OrientDB 中 query/search/retrieve 具有一对顶点的边?

How to query/search/retrieve an Edge with a pair of Vertices in OrientDB using Java API?

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

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

Edge 已在 OrientDB 中成功创建,名称为 class,使用:

openGraphNoTx.createEdgeType("Friendship");

已成功添加 Edge,如下所示:

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

所以,我想 query/search 使用 fanV 和 influencerV 顶点来检索任何现有的边(如果它已经存在)。我该怎么做?

我尝试使用:

fanV.query() ... and build the query and then fanV.edges()... but can't figure out how to set the query parameters.

fanV.getEdges(Direction.IN, friend.getId().toString()); ... ??? can't fiture out how to set the query parameters.

...但是想不通

任何关于如何在 Java 中 search/query/retrieve 边缘的帮助将不胜感激。谢谢!

我自己找到了答案:

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

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