2012-11-01 2 views
2

동적 그래프를 작성하고 Gephi 툴킷을 사용하여 스트리밍하려고합니다. 지금까지 툴킷과 스트리밍 플러그인 자습서를 따라 일반 그래프를 만들고 Gephi GUI로 스트리밍했습니다.Gephi : 툴킷을 사용하여 동적 그래프 생성 및 스트리밍

그래프를 동적으로 만드는 방법을 알아 내는데 어려움을 겪고 있습니다. AttributeModel을 사용하여 노드 및 에지 테이블에 TimeInterval 열을 추가 할 수 있었지만 GUI에서 타임 라인 창을 열면 그래프는 동적이지 않습니다. 모델/컨트롤러가 다소 혼란 스럽습니다. 여기

내가 지금이 그 코드입니다 :

ProjectController pc = Lookup.getDefault().lookup(ProjectController.class); 
pc.newProject(); 
Workspace workspace = pc.getCurrentWorkspace(); 
AttributeController attributeController = Lookup.getDefault().lookup(AttributeController.class); 
AttributeModel attributeModel = attributeController.getModel(); 
AttributeColumn nodeTimeColumn = attributeModel.getNodeTable().addColumn(DynamicModel.TIMEINTERVAL_COLUMN, AttributeType.TIME_INTERVAL, AttributeOrigin.PROPERTY); 
AttributeColumn edgeTimeColumn = attributeModel.getEdgeTable().addColumn(DynamicModel.TIMEINTERVAL_COLUMN, AttributeType.TIME_INTERVAL, AttributeOrigin.PROPERTY); 
GraphController graphController = Lookup.getDefault().lookup(GraphController.class); 
GraphModel graphModel = graphController.getModel(); 
DirectedGraph graph = graphModel.getDirectedGraph(); 

// At this point, I want to make the graph dynamic so that I can use 
// the Timeline feature when I stream to the GUI. 

StreamingServer server = Lookup.getDefault().lookup(StreamingServer.class); 
ServerControllerFactory controllerFactory = Lookup.getDefault().lookup(ServerControllerFactory.class); 
ServerController serverController = controllerFactory.createServerController(graph); 
String context = "/testing"; 
server.register(serverController, context); 

답변

6
Gephi 그래프 스트리밍은 원칙적으로 큰 동적 그래프를로드하는 것보다 훨씬 적은 메모리를 사용하여 그래프의 실시간 변화를 시각화하는 대안이다

. 따라서 각 시점마다 메모리에 전체 동적 그래프가 없지만 그래프의 현재 상태를 나타내는 정적 그래프가 있습니다. 그래서 기본적으로 플러그인은 정적 그래프를 만들고 업데이트합니다.

그래프 스트리밍을 사용하여 동적 그래프를 업데이트하는 것은 아직 불가능합니다. 우리는 가까운 장래에 그것을 지원을 계획하고 있으며, 이러한 작업은 작업에게 다음과 같은 클래스 변경하여 사용할 수 있습니다 :이 파일에서 볼 수 있듯이, 동적 속성을 더 처리가

https://github.com/gephi/gephi-plugins/blob/graph-streaming/StreamingAPI/src/org/gephi/streaming/api/GraphUpdaterEventHandler.java

없습니다를; 새로운 노드/에지/속성이 추가, 변경 또는 제거되지만 동적 열은 업데이트되지 않습니다.

+0

해명 해 주셔서 감사 드리며 매우 유용한 작업을 해주셔서 감사합니다. – Dawood