使用Python中的Titan图形数据库

2024-10-03 02:43:00 发布

您现在位置: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)bulls将python对象转换为图形 (2) Rexter将图形转换为JSON (3) Titan将JSON转换回图形?? (4) 还写信给卡桑德拉商店

看起来我做事很圆滑,有什么遗漏吗?如果有人能指出上面的错误那就太好了?在


Tags: inhostdbstringpropertypubliclabeladdr
1条回答
网友
1楼 · 发布于 2024-10-03 02:43:00

您的图表:

PYTHON OBJECTS    > BULBS   > Rexster  -> Titan Graph DB  -> Cassandra DB

看起来或多或少是正确的,这取决于你想如何看待所涉及的抽象。您也可以将其定义为:

^{2}$

因为雷克斯特基本上嵌入了一个泰坦实例,它将剩余部分暴露出来,供灯泡使用。这部分不是很正确:

  1. bulls将python对象转换为图形
  2. Rexter将图形转换为JSON
  3. Titan将JSON转换回图形??在
  4. 还写信给卡桑德拉商店

我想说:

  1. Titan是一个向Cassandra写入的Blueprints实现
  2. Rexster托管蓝图实现,并使用JSON在REST上公开该API(和Gremlin)的元素
  3. bulls是Rexster上的Python对象映射层。在

归根结底,Python和Titan之间没有直接的联系。Titan拥有基于JVM的蓝图接口,并使用Rexster作为非JVM语言与之对话的方式。在

相关问题 更多 >