我正在尝试使用 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 对象转换为 Graphs (2) Rexter 将 Graphs 转换为 JSON (3) Titan 将 JSON 转换回 Graphs?? (4) 并且还写入 cassandra 存储
看起来我正在以一种非常圆滑的方式做事,而我错过了什么?如果有人能指出上述内容有什么问题,那就太好了?