こんにちは、次のようなインターフェイスと対応する実装クラスがあります。
public interface IActor extends VertexFrame {
@Property(ActorProps.nodeClass)
public String getNodeClass();
@Property(ActorProps.nodeClass)
public void setNodeClass(String str);
@Property(ActorProps.id)
public String getId();
@Property(ActorProps.id)
public void setId(String id);
@Property(ActorProps.name)
public String getName();
@Property(ActorProps.name)
public void setText(String text);
@Property(ActorProps.uuid)
public String getUuid();
@Property(ActorProps.uuid)
public void setUuid(String uuid);
@Adjacency(label = RelClasses.CoActors, direction = Direction.OUT)
public Iterable<IActor> getCoactors();
}
そして、私はそのようなもので OrientDB を使用しています。Neo4j でも同様の実装がありました。
Graph graph = new OrientGraph("remote:localhost/actordb");
FramedGraph<Graph> manager = new FramedGraphFactory().create(graph);
IActor actor = manager.frame(((OrientGraph)graph).getVertexByKey("Actor.uuid",uuid), IActor.class);
上記は機能しますが、問題は、この場合または同様の場合、クラス Actor の 2 つの頂点間に関係があるため、グラフ ループが発生する可能性があることです。特定の @Adjacency の x ステップ後に停止するように、注釈またはその他の方法 (Manager など) によって定義する方法はありますか? @GremlinGroovy ( https://github.com/tinkerpop/frames/wiki/Gremlin-Groovy ) アノテーションが答えの場合、例を教えてください。