2013-01-04 29 views
0

我想在gephi/jython中運行圖形度量算法。不幸的是我不能在GraphDistance對象中調用方法'execute'。在jython中使用Gephi的GraphDistance插件:我有正確的類型,但'execute'方法不一致

這是類統計的對象,我需要使用:

>>> type(gd) 
<type 'org.gephi.statistics.plugin.GraphDistance'> 

類型的圖表類是這樣的:

>>> type(gu) 
<type 'org.gephi.graph.dhns.graph.HierarchicalUndirectedGraphImpl'> 

這實際上是HierarchicalGraph的一個子類:

>>> gu.class.__bases__[0].__bases__[0] 
<type 'org.gephi.graph.api.HierarchicalGraph'> 

我也有'屬性'對象的要求:

>>> type(ga) 
<type 'org.gephi.data.attributes.AttributeRowImpl'> 

但執行國所要求的類型不正確:

>>> gd.execute(gu,ga) 
Traceback (most recent call last): 
    File "<input>", line 1, in <module> 
TypeError: execute(): 1st arg can't be coerced to org.gephi.graph.api.HierarchicalGraph, org.gephi.graph.api.GraphModel 

這沒有多大意義,對我來說,因爲該類我使用的圖形對象是從是類派生需要。

任何想法?

編輯:我正在使用Gephi腳本插件(http://wiki.gephi.org/index.php/Scripting_Plugin)和Gephi 0.8.2-beta。以下是內容sys.version:

>>> sys.version 
'2.5.2 (Release_2_5_2:Unversioned directory, Jan 5 2012, 12:11:16) \n[Java HotSpot(TM) 64-Bit Server VM (Oracle Corporation)]' 
+0

它可能與包有關。顯然,這些東西在Jython中有點奇怪和相對。看看[Jython Wiki上的這個例子](http://wiki.python.org/jython/dasdad#id2)。它可能會幫助你解決它。 – Sardtok

回答

2

有兩個是class

public void execute(GraphModel graphModel, AttributeModel attributeModel); 

public void execute(HierarchicalGraph hgraph, AttributeModel attributeModel); 

執行方法聽起來第二參數應該是AttributeModel,不AttributeRowImpl

+0

謝謝!你知道如何獲得AttributeModel嗎? – fstab

相關問題