我正在研究OrientDB,我必须说,文档对我来说有些混乱。我想问很多问题。到目前为止,任何人都可以告诉我OrientEdge和OrientEdgeType之间以及OrientVertex和OrientVertexType之间有什么区别。我应该创建扩展它们的类吗?如何使用它们?创建关系时如何在边缘设置属性?
我正在这样创建EdgeType:

OrientEdgeType userFriendEdge = orientGraph.getEdgeType("FriendOf");
    if(userFriendEdge==null){
        userFriendEdge = orientGraph.createEdgeType("FriendOf");
        userFriendEdge.createProperty("gravity", OType.DOUBLE);
    }


然后我添加这样的优势:

this.orientGraphFactory.getNoTx().addEdge(null, userVertex1, userVertex2, "FriendOf");


尽管这似乎创建了一条边,但是查询类时在视觉编辑器中看不到它。这是正确的方法吗?另外,如何将像重力一样向边缘添加属性?请帮助,我很困惑。

最佳答案

边缘类型和顶点类型只是类,因此

 orientGraph.createEdgeType("FriendOf");


与在SQL中所做的相同

 CREATE CLASS FriendOf extends E


边和顶点是这些类的实例。

要创建边并添加属性,请尝试以下操作:

 Edge e = vertex1.addEdge('FriendOf', vertex2);
 e.setProperty('since', 2015);


我建议您使用NoTx图来操作架构,并使用Tx图来创建/操作数据。不要忘记

 graph.shutdown()


在末尾

10-01 05:01