2015-01-04 7 views
5

Jak zrobić wyjątek Edge w Orientdb.Jak zrobić w Orientdb przewagę, aby być wyjątkowym?

Rozwiązanie, które wymyśliłem:

  • usunąć krawędź
  • utworzyć go ponownie

ale nie jest to miłe. Krawędź nie ma żadnych właściwości.

Przykład:

create edge is_friend from #12:0 to #12:3 

a jeśli zgłoszę go ponownie, nie powinno być błąd jak podczas dokonywania unikatowy indeks.

Dziękuję

enter image description here

Odpowiedz

8

Utwórz ograniczenia na krawędzi na zewnątrz i na polach. Aby uzyskać więcej informacji:

http://www.orientechnologies.com/docs/last/orientdb.wiki/Graph-Schema.html#constraints

W twoim przypadku spróbuj tego:

CREATE INDEX UniqueEdges ON is_friend (out, in) unique 
+0

Przykro mi, ale nie rozumiem z doc jak zrobić przewagę wyjątkowy. Przykłady dotyczą klasy Vertex .. [nie mam problemu z tworzeniem pola unikalnego dla wierzchołków, to proste ...]. Zaktualizowałem swoją odpowiedź obrazem, jeśli to pomaga ... – OWADVL

+3

Dostaję com.orientechnologies.orient.core.index.OIndexException: Indeks z nazwą: 'UniqueEdges' nie można utworzyć w klasie: 'is_friend' ponieważ pole: ' out "jest nieobecny w definicji klasy. – OWADVL

+3

W prawo, utwórz obie właściwości "w" i "na zewnątrz" w klasie "is_friend". – Lvca

Powiązane problemy