/ Funkcja / edge.create () powoduje duplikację, jeśli zostanie wywołana wiele razy - tytan, żarówki

Funkcja edges.create () powoduje duplikację, jeśli jest wywoływana wiele razy - tytan, żarówki

Używam TitanGraphDB + Cassandra. Zaczynam Tytana w następujący sposób

cd titan-cassandra-0.3.1
bin/titan.sh config/titan-server-rexster.xml config/titan-server-cassandra.properties

Mam powłokę Rexster, której mogę używać do komunikowania się z Tytanem + Cassandrą powyżej.

cd rexster-console-2.3.0
bin/rexster-console.sh

Próbuję modelować topologię sieci przy użyciuTitan Graph DB. Chcę programować Titan Graph DB z mojego programu python. Używam do tego pakietu żarówek. Tworzę trzy typy wierzchołków - przełącznik - Port - urządzenie

Korzystam z poniższych funkcji, aby utworzyć unikalne wierzchołki, jeśli jeszcze nie istnieją.

    self.g.vertices.index.get_unique( "dpid", dpid_str)

self.g.vertices.index.get_unique( "port_id", port_id_str)

self.g.vertices.index.get_unique( "dl_addr", dl_addr_str)

Tworzę krawędzie między powiązanymi wierzchołkami w następujący sposób.

    self.g.edges.create(switch_vertex,"out",port_vertex)

Jednak jeśli ta funkcja jest wywoływana dwukrotnie, tworzy duplikat już istniejących krawędzi. Czy istnieje funkcja analogiczna do get_or_create () dla krawędzi, dzięki czemu mogę uniknąć duplikacji.?

Odpowiedzi:

2 dla odpowiedzi № 1

Ogólnie wykresy zezwalają na powielanie krawędzi między wierzchołkami, ponieważ definicja powielonej krawędzi jest niejednoznaczna i specyficzna dla aplikacji.

Na przykład, czy krawędź jest duplikatem opartym na etykiecie, kierunku lub kombinacji właściwości?

Jednak, Titan 0.5 wprowadzono Multiplicity.SIMPLE ograniczenie, które umożliwia zdefiniowanie unikalne krawędzie między parą wierzchołków.

Widzieć MatthiasOgłoszenie Titan 0.5:

Ta nowa funkcja nie jest jeszcze udokumentowana, ale zespół Titan jest w trakcie aktualizacji dokumentacji do Titan 0.5, więc wkrótce zostanie to udokumentowane.

Oglądaj Przegląd definicji typów strona z aktualizacjami:

Zobacz także sekcję ograniczenia liczności: