2014-12-18 6 views
1

그래프를 gexf 형식으로 내보낼 때 몇 가지 문제가 발생했습니다. 가져온 이전 구조는 gexf 그래프입니다. 그래프를 공간화하고 노드 색상을 추가하기 위해 Gephi 툴킷을 사용합니다. 일부 속성 값은 무효입니다. 이 예에서와 같이 :공허 속성을 내보낼 수 없습니다.

<node id="3" label="label_name"> 
<attvalues> 
<attvalue for="1" value="attribute_value" /> 
<attvalue for="2" value="attribute_value" /> 
<attvalue for="3" value="1" /> 
<attvalue for="4" value="" /> 
<attvalue for="5" value="" /> 
<attvalue for="6" value="@IP" /> 
<attvalue for="7" value="" /> 
<attvalue for="8" value="80" /> 

공간화 및 기타 작업을 수행 한 후 gexf로 다시 내 보냅니다. void 값을 갖는 속성은 포함되지 않았다는 것을 알았습니다. 이것은 수출 된 gexf입니다.

<node id="3" label="label_name"> 
<attvalues> 
<attvalue for="1" value="attribute_value" /> 
<attvalue for="2" value="attribute_value" /> 
<attvalue for="3" value="1" /> 
<attvalue for="6" value="@IP" /> 
<attvalue for="8" value="80" /> 

속성 4, 5 및 7이 누락되었습니다. 이 문제를 어떻게 해결할 수 있습니까 (아니면 Gephi 수출업자의 암묵적인 행동입니까?).

답변

1

어디서 문제가 발생했는지 알았습니다. 그것은 gephi-toolkit의 코드에서 클래스 ExporterGEXF.java에 있습니다. 특히 메서드에서 writeAttValues ​​(XMLStreamWriter xmlWriter, AttributeRow 행, TimeInterval visibleInterval).

이 방법에서는 모든 노드가 반복되고 각 노드에 대해 모든 속성이 반복됩니다. 다음으로 현재 속성이 테스트됩니다. null이 아닌 경우 xml 파일에 속성을 씁니다. 그렇지 않으면 속성 null이 무시됩니다.

나는 모든 null 속성을 공백 (문자열)으로 대체 할 것이므로 gephi 툴킷을 다시 컴파일하지 않을 것입니다.

도움이 되길 바랍니다.

관련 문제