[英]Using Titan Graph database from Python
我正在嘗試使用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存儲
看起來我正在以一種非常全面的方式做事,而我缺少什么? 如果有人可以指出以上內容有問題,那就太好了嗎?
您的圖表:
PYTHON OBJECTS ----> BULBS ----> Rexster ---> Titan Graph DB ---> Cassandra DB
看起來或多或少是正確的,具體取決於您對所涉及的抽象的看法。 您也可以將其定義為:
PYTHON OBJECTS ----> BULBS ----> Rexster/Titan ---> Cassandra DB
由於Rexster基本上嵌入了Titan實例,該實例通過REST公開以供燈泡使用。 這部分不太正確:
我會說:
歸根結底,Python與Titan沒有直接聯系。 Titan具有基於JVM的Blueprints接口,並使用Rexster作為非JVM語言與之交談的一種方式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.