我正在调查OrientDB,我必须说,文档对我来说有点混乱。我想问很多问题。截至目前,任何人都可以告诉我OrientEdge和OrientEdgeType之间以及OrientVertex和OrientVertexType之间的区别。我应该创建扩展它们的类吗?怎么用?如何在创建关系时在边缘设置属性? 我正在创建这样的EdgeType:
<?xml version="1.0"?>
<layout version="0.1.0">
<customer_account_login>
<update handle="customer_account"/>
<!-- Mage_Customer -->
<reference name="root">
<action method="setTemplate"><template>page/2columns-left.phtml</template></action>
</reference>
</customer_account_login>
</layout>
然后我就像这样添加边缘:
OrientEdgeType userFriendEdge = orientGraph.getEdgeType("FriendOf");
if(userFriendEdge==null){
userFriendEdge = orientGraph.createEdgeType("FriendOf");
userFriendEdge.createProperty("gravity", OType.DOUBLE);
}
虽然这似乎创造了优势,但在查询类时,我无法在可视化编辑器中看到它。这是正确的方法吗?另外,如何像重力一样为边缘添加属性?请帮忙,我很困惑。
答案 0 :(得分:3)
边缘类型和顶点类型只是类,所以要做
orientGraph.createEdgeType("FriendOf");
与在SQL中执行相同
CREATE CLASS FriendOf extends E
边和顶点是这些类的实例。
要创建边缘并添加属性,请尝试以下方法:
Edge e = vertex1.addEdge('FriendOf', vertex2);
e.setProperty('since', 2015);
我建议您使用NoTx图来操作架构和Tx图来创建/操作数据。别忘了
graph.shutdown()
最后