我正在研究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()
在末尾