Titan Graph DB를 사용하여 네트워크 토폴로지를 모델링하려고합니다. 파이썬 응용 프로그램에서 토폴로지를 지정하려고합니다.Python의 Titan Graph 데이터베이스 사용
나는 땜장이 프레임 annotation을 사용하는 자바 인터페이스 파일을 가지고있다. 예제 구조는 아래에 주어진다.
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) 전구 그래프 (2) Rexter (3) 타이탄 JSON 다시 그래프로 변환 JSON 그래프로 변환 파이썬 객체 변환 ?? (4) 또한 cassandra store에 씁니다.
나는 아주 둥근 방식으로 일을하고있는 것처럼 보입니다. 누군가 위와 같이 잘못되었다고 지적 할 수 있다면 좋을 것입니다. 의
이제 Gremlin은 무엇입니까? 위의 계획에 어떻게 맞습니까? – liv2hak
Gremlin은 TinkerPop (http://tinkerpop.com) 스택의 그래프 쿼리 언어입니다. 전구는 Rexster와 통신 할 때 기본적으로 Gremlin을 사용합니다. –
전구 개체는 파이썬 개체이므로 Bulbs/Python -> Rexster/Titan -> Cassandra로 생각하면됩니다. Gremlin은 그래프 쿼리 언어 (그래프의 경우 SQL과 비슷 함)이며 RDBMS에서 쿼리를 실행하기 위해 SQL을 사용하는 것과 마찬가지로 Bulb를 사용하여 Titan Server (Rexster)에서 Gremlin 쿼리를 실행합니다. – espeed