Используя базу данных график Титан из кожи питона
Я пытаюсь смоделировать топологию сети с помощью Titan Graph DB.Я хочу указать топологию из приложения python.
У меня есть файл интерфейса java, который использует фреймы tinkertop annotation.An пример структуры приведен ниже.
public interface IDeviceObject extends IBaseObject {
@JsonProperty("mac")
@Property("dl_addr")
public String getMACAddress();
@Property("dl_addr")
public void setMACAddress(String macaddr);
@JsonProperty("ipv4")
@Property("nw_addr")
public String getIPAddress();
@Property("nw_addr")
public void setIPAddress(String ipaddr);
@JsonIgnore
@Adjacency(label="host",direction = Direction.IN)
public Iterable<IPortObject> getAttachedPorts();
@JsonIgnore
@Adjacency(label="host",direction=Direction.IN)
public void setHostPort(final IPortObject port);
@JsonIgnore
@Adjacency(label="host",direction=Direction.IN)
public void removeHostPort(final IPortObject port);
@JsonIgnore
@GremlinGroovy("it.in('host').in('on')")
public Iterable<ISwitchObject> getSwitch();
}
PYTHON OBJECTS ----> BULBS ----> REXTER ---> Titan Graph DB ---> Cassandra DB
(1) BULBS преобразует объекты python в графики (2) Rexter преобразует графики в JSON (3) Titan преобразует JSON обратно в графики?? (4) а также пишет Кассандре стор
Похоже, что я делаю вещи в очень круглой форме. манеры, а я что-то упускаю? Было бы здорово, если бы кто-то мог указать на то, что вахт не прав с вышеизложенным?
1 ответ:
Ваша диаграмма:
PYTHON OBJECTS ----> BULBS ----> Rexster ---> Titan Graph DB ---> Cassandra DB
Выглядит более или менее корректно в зависимости от того, как вы хотите думать о задействованных абстракциях. Вы также можете определить его как:
PYTHON OBJECTS ----> BULBS ----> Rexster/Titan ---> Cassandra DB
Поскольку Rexster в основном внедряет экземпляр Titan, который он выставляет над отдыхом для потребления лампочками. Эта часть не совсем верна:
- BULBS преобразует объекты python в графики
- Rexter преобразует графики в JSON
- Titan преобразует JSON обратно в графики??
- а также пишет Кассандре магазин
Я бы сказал:
В конце концов, прямой связи между питоном и Титаном нет. Titan имеет интерфейс чертежей на основе JVM и использует Rexster как способ для не-JVM языки, чтобы говорить с ним.
- Titan-это реализация Blueprints , которая пишет Кассандре
- Rexster размещает чертежи реализаций и предоставляет элементы этого API (и Gremlin) над REST, используя JSON
- Bulbs-это слой отображения объектов Python поверх Rexster.