OrientDB:OrientEdge与OrientEdgeType和OrientVertex与OrientVertexType

时间:2015-09-19 05:12:42

标签: java graph orientdb

我正在调查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);
    }

虽然这似乎创造了优势,但在查询类时,我无法在可视化编辑器中看到它。这是正确的方法吗?另外,如何像重力一样为边缘添加属性?请帮忙,我很困惑。

1 个答案:

答案 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()

最后