Titan Graph DB を使用してネットワーク トポロジをモデル化しようとしています。Python アプリケーションからトポロジを指定したいと考えています。
Tinkertop フレーム アノテーションを使用する Java インターフェイス ファイルがあります。構造の例を以下に示します。
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) また、cassandra ストアに書き込みます
私は非常にラウンドアバウトな方法で物事を行っているように見えますが、何かが欠けていますか? 誰かが上記の何が間違っているかを指摘できれば素晴らしいと思いますか?