hierarchy problem

Once it's running
Post Reply [phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
paul
Posts:31
Joined:31 Mar 2010 08:44
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
hierarchy problem

Post by paul » 07 May 2010 16:21

Hi there,

I have generated a gexf with a complex nodes hierarchy using the pid structure.
My gexf generator code checks carefully (twice) that pid references exist in the nodes population.

When I open that gexf file I have a "Node must be in the graph" error and only a undefined part of the nodes are imported.

I don't have any ideas anymore of what I could have done wrong.
Perhaps a bug out there ?
Is there a way to have some more information about the import error behind "Node must be in the graph" ?

I join my gexf file with only the node hierarchy and no edges.
(EDIT: euh well I can't upload my file since the forum refuses gexf extension !!??)

Thanks for help

Paul

User avatar
mbastian
Gephi Architect
Posts:728
Joined:10 Dec 2009 10:11
Location:San Francisco, CA
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: hierarchy problem

Post by mbastian » 07 May 2010 17:16

Ok that may be a bug I think. Thanks.

You can zip your gexf file, as ZIP extension is allowed.

paul
Posts:31
Joined:31 Mar 2010 08:44
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: hierarchy problem

Post by paul » 07 May 2010 17:55

Ok here is my code in a zip file.

I will then try to use the other method declaring nodes inside nodes although it requires a complete different algo.
I keep you posting on this.

Paul
Attachments
profiep_profToinst_2008.gexf.zip
a big hierarchy nodes structure coding in gexf using pid which can't be properly imported in gephi
(4.27KiB)Downloaded 218 times

User avatar
mbastian
Gephi Architect
Posts:728
Joined:10 Dec 2009 10:11
Location:San Francisco, CA
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: hierarchy problem

Post by mbastian » 07 May 2010 21:34

Thanks, I created a bug about that problem.

I looked at it and I fixed it. It will be deployed soon as an update.

paul
Posts:31
Joined:31 Mar 2010 08:44
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: hierarchy problem

Post by paul » 10 May 2010 08:42

woaou that's what I call reactivity !

Thanks for your work and for the workaround which I'll test soon.

EDIT: actually the update is already available and problem solved : great job, you and the automatic update rock !

Paul

paul
Posts:31
Joined:31 Mar 2010 08:44
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: hierarchy problem

Post by paul » 11 May 2010 09:13

ok guys,

good news is : import gexf hierarchy is fine !

bad news is : mm I experience more bug(s)

I'll try to be as precise as possible although this looks like a hidden monster.

few words about my data :
I have 2 types of nodes (there is type node attribute) :
- actors
- institusions

only institutions have a hierarchy structure with 3 levels.

Edges are made between actors and institution of level 1 or 2.

When I import the gexf everything fine.
In the data laboratory I can see all the nodes correctly stored in a nice hierarchy (high level node as of folders).

First question : I can't see no edges at all in the data laboratory.
is this normal since there is no edge between actors and institution of level 0 ?

The overview shows the graph at the higher level.
But no meta edges are shown between actors and institution of level 0 although those meta nodes do contain others nodes sharing edges with actors.

Now if I right-click on a institution of level 0 in overview and choose expand it's working and edges appear both in overview and in data laboratory (meta-edges included). Sometimes this action leads to Null Point Exception (see below).
The very same (not sure about that actually) exception appears when I try to change the level of hierarchy using the hierarchy menu in overview.
After this exception no edges are displayed neither in overview neither in data laboratory.

Finally if by chance i can expand one or two insitutions and then run a layout (Forceatlas) I experience an other exception.

I am quite confused about which exact action raises which exception but this is what I experienced.

Hope this will help to make complex hierarchy usable.

Paul

ps: Exceptions traces. Would it help to report the exception directly from Gephi ?

layout with an expanded level

java.lang.NullPointerException
at org.gephi.visualization.opengl.compatibility.objects.ConvexHullModel.isInOctreeLeaf(ConvexHullModel.java:51)
at org.gephi.visualization.opengl.octree.Octree.updateObjectsPosition(Octree.java:268)
at org.gephi.visualization.opengl.compatibility.CompatibilityEngine.updateObjectsPosition(CompatibilityEngine.java:636)
at org.gephi.visualization.opengl.compatibility.CompatibilityScheduler.updatePosition(CompatibilityScheduler.java:279)
[catch] at org.gephi.visualization.scheduler.SimpleFPSAnimator.run(SimpleFPSAnimator.java:58)


change hierarchy level

java.lang.NullPointerException
at com.apple.laf.AquaListUI.repaintCell(AquaListUI.java:132)
at com.apple.laf.AquaComboBoxUI$1$1.paintSelected(AquaComboBoxUI.java:91)
at com.apple.laf.AquaUtils.blinkMenu(AquaUtils.java:202)
at com.apple.laf.AquaComboBoxUI$1.itemStateChanged(AquaComboBoxUI.java:89)
at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1205)
at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1262)
at javax.swing.JComboBox.contentsChanged(JComboBox.java:1309)
at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:100)
at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:88)
at javax.swing.JComboBox.setSelectedItem(JComboBox.java:557)
at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:603)
at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:817)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)
at java.awt.Component.processMouseEvent(Component.java:6348)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3255)
at com.apple.laf.AquaComboBoxPopup$1.processMouseEvent(AquaComboBoxPopup.java:129)
at java.awt.Component.processEvent(Component.java:6113)
at java.awt.Container.processEvent(Container.java:2085)
at java.awt.Component.dispatchEventImpl(Component.java:4714)
at java.awt.Container.dispatchEventImpl(Container.java:2143)
at java.awt.Component.dispatchEvent(Component.java:4544)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4618)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4282)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4212)
at java.awt.Container.dispatchEventImpl(Container.java:2129)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4544)
[catch] at java.awt.EventQueue.dispatchEvent(EventQueue.java:635)
at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:125)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)



java.lang.NullPointerException
at org.gephi.visualization.opengl.octree.Octree.removeObject(Octree.java:121)
at org.gephi.visualization.opengl.octree.Octree.cleanDeletedObjects(Octree.java:236)
at org.gephi.visualization.opengl.compatibility.CompatibilityEngine.worldUpdated(CompatibilityEngine.java:199)
at org.gephi.visualization.bridge.DHNSDataBridge.updateWorld(DHNSDataBridge.java:145)
at org.gephi.visualization.opengl.compatibility.CompatibilityEngine.updateWorld(CompatibilityEngine.java:181)
at org.gephi.visualization.opengl.compatibility.CompatibilityScheduler.updateWorld(CompatibilityScheduler.java:270)
[catch] at org.gephi.visualization.scheduler.SimpleFPSAnimator.run(SimpleFPSAnimator.java:57)

User avatar
mbastian
Gephi Architect
Posts:728
Joined:10 Dec 2009 10:11
Location:San Francisco, CA
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: hierarchy problem

Post by mbastian » 11 May 2010 16:13

Thanks, I'll see what's wrong with the hierarchy asap. However it's an experimental feature, some parts of the code are not completely functional and working in all cases, and we are aware about it. If it's not a problem, could you please attach your gexf file here or send it to me by email? It may help me to find the issue. Thanks.

paul
Posts:31
Joined:31 Mar 2010 08:44
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable

Re: hierarchy problem

Post by paul » 11 May 2010 16:19

To anybody you'd like to use hierarchy here is a workaround:

I used a technic based on a depth attribute.
my institutions nodes have a 3 levels-hierarchy
each institution node has a depth attribute set between 0 and 2.
Actors who are not concerned about the hierarchy have a depth set to -1.

normaly edges are between actors and the level 2 of my hierarchy.
Here you have to duplicate the edges along the hierarchy.
An edge between an actor A and institution inst_2
will have to duplicate to :
A - inst_1 (inst_1 being the father of inst_2)
A - inst_0 (inst_0 being the father of inst_1)

Then once you imported in Gephi, use a partition filter on the depth attribute to zoom in or zoom out into your hierarchy/
Always select the depth = -1 since your nodes outside your hierarchy (here actors) have to always be displayed.
level up would be depth =0 or depth=-1, level down depth=2 or depth=-1 ...

This is working great, you can change the filter while spazialising with a layout (tested on a 500 nodes graphs).

Hope this help

Paul

Post Reply
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable
[phpBB Debug] PHP Warning: in file [ROOT]/vendor/twig/twig/lib/Twig/Extension/Core.php on line 1275: count(): Parameter must be an array or an object that implements Countable