2015-09-19 1 views
0

Я смотрел на OrientDB, и я должен сказать, что документация немного сбивает меня с толку. Есть много вопросов, которые я хотел бы задать. На данный момент, кто-нибудь может рассказать мне, в чем разница между OrientEdge и OrientEdgeType, а также между OrientVertex и OrientVertexType. Должен ли я создавать классы, расширяющие их? Как их использовать? Как установить свойства в ребрах при создании отношения? Я создаю EdgeType так:OrientDB: OrientEdge vs OrientEdgeType и OrientVertex vs OrientVertexType

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"); 

Хотя это, кажется, создает преимущество, я не могу видеть его в визуальном редакторе, когда я запрашиваю классы. Это правильный способ сделать это? Кроме того, как добавить свойства к краю, как гравитация? Пожалуйста, помогите, я в замешательстве.

ответ

2

типы кромок и типы вершин просто классы, тот самый

orientGraph.createEdgeType("FriendOf"); 

так же, как делает, в SQL

CREATE CLASS FriendOf extends E 

Ребра и вершины являются экземплярами этих классов.

Чтобы создать край и добавить свойства, просто попробуйте это:

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

Я предлагаю вам использовать NoTx график для управления схемой и Tx графика для создания/манипулирования данных. Не забывайте

graph.shutdown() 

в конце

Смежные вопросы