[FIXED] Recent updates on GEXF time support

Evolution and dynamics on networks in Gephi: UI, data formats, algorithms...
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
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
[FIXED] Recent updates on GEXF time support

Post by mbastian » 26 Sep 2010 18:02

Many work has been recently done for time support in the 0.7 beta, more detail coming soon. Some of these changes directly concern the GEXF format.

I propose the following changes/improvements:
  • Rename the "timetype" attribute in to "timeformat". This attribute is set on <graph> to specify how time information is encoded, either like a date or like a double.
  • The "timeformat" is currently either float or date and default value is date. I propose to replace float by double because double is how it is in Gephi. I also propose to set default value to double as is the one that is the less constrained, date needs a proper date (yyyy-mm-dd) formatting.
  • Add open intervals. Currently all intervals are inclusive. To be consistent we need open intervals as well. I propose therefore to add startopen and endopen attributes. Open intervals are also needed to convert fixed date points into time intervals concept. I explain

    If I have a value at three different points in the time:

    Code: Select all

    2001  =>  2.1
    2002  =>  5.2
    2003  =>  6.5
    converted to continuous, I believe we get:

    Code: Select all

    [2001, 2002)  =>  2.1
    [2002, 2003)  =>  5.2
    [2003, +inf]  =>  6.5
Another precision about dynamic attributes. In Gephi we now have new dynamic types for all static types (float, string, ...). I propose not to create new type keyword in GEXF but simply use these types when the type value is set to dynamic.

For example if I do:

Code: Select all

<attributes class="node" type="dynamic">
   <attribute id="0" title="type" type="string"/>
   <attribute id="1" title="Attribute 1" type="float"/>
</attributes>
That would create DYNAMIC_STRING and DYNAMIC_FLOAT attribute columns in Gephi. As several attributes markup can be definied in a GEXF file, it's easy to mix static and dynamic types.

admin
Gephi Community Manager
Posts:964
Joined:09 Dec 2009 14:41
[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: Recent updates on GEXF time support

Post by admin » 26 Sep 2010 20:35

I agree with all but the replacement of float by double:
I propose to replace float by double because double is how it is in Gephi.
Is not a good reason. What is the benefit of using doubles instead of floats?

User avatar
jbilcke
Gephi Core Developer
Posts:41
Joined:10 Dec 2009 17:48
Location:Paris, France
Contact:

Re: Recent updates on GEXF time support

Post by jbilcke » 26 Sep 2010 21:10

I think this is preferable to use Double, since they have 64-bits floating point precision, while Float only have 32 bits.

This would allow developers to directly use timestamps, without need to convert it to a particular calendar reference, or XML format,
because timestamps are encoded in 64 bits too (if you still want to be able to load your GEXFs after 01-01-2038.. think about sustainable datasets ;))
Last edited by jbilcke on 26 Sep 2010 21:13, edited 1 time in total.

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: Recent updates on GEXF time support

Post by mbastian » 26 Sep 2010 21:12

Yes I agree, using float was a mistake. Double is the default choice, as float is more narrow.

admin
Gephi Community Manager
Posts:964
Joined:09 Dec 2009 14:41
[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: Recent updates on GEXF time support

Post by admin » 21 Oct 2010 18:16

It's also important to let people define integers, just because it's a natural and efficient way to encode steps. Gephi can however handle these values as double internally.

psychemedia
Posts:18
Joined:15 Apr 2010 17:50
[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: Recent updates on GEXF time support

Post by psychemedia » 31 Oct 2010 19:39

Is it possible to dynamically define node size and colours according to time slices, as well as well as simply toggling the display or not of a node?

admin
Gephi Community Manager
Posts:964
Joined:09 Dec 2009 14:41
[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: Recent updates on GEXF time support

Post by admin » 17 Nov 2010 18:45

It is possible to define it inside a GEXF file, but this is a missing feature in Gephi.

admin
Gephi Community Manager
Posts:964
Joined:09 Dec 2009 14:41
[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: Recent updates on GEXF time support

Post by admin » 28 Nov 2010 18:12

As noted by Skye Bender-deMoll, we don't use the same concept of slices as described by their paper and implemented in SoNIA.

I propose to use a more accurate word. "Spell" seems good as it is a moment or a period of time.

Luciano
Posts:1
Joined:08 Dec 2010 18:46
[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: Recent updates on GEXF time support

Post by Luciano » 08 Dec 2010 18:58

Hi,
i created a dynamic network with a dynamic attribute for nodes defined as:

Code: Select all

<attributes class="node" type="dynamic">
   <attribute id="0" title="Attribute 1" type="float"/>
</attributes>
I would like for nodes to change their size according to this attribute. For that I am using in each node, for example:

Code: Select all

<node id="0" label="USA">
<attvalues>
<attvalue for="0" value="9" start="2006" endopen="2007" />
<attvalue for="0" value="21" start="2007" endopen="2008" />
<attvalue for="0" value="17" start="2008" endopen="2009" />
<attvalue for="0" value="19" start="2009" endopen="2010" />
</attvalues>
<slices>
<slice start="2006" endopen="2010" />
</slices>
With this, nodes are properly shown (i.e. whenever corresponds according to the slices), however, their size don't change according to the attribute id="0" (which I set in Ranking > Nodes).

Any thoughts on what could be wrong? Or is this something not supported in Gephi 0.7 yet?

Thanks a lot.

admin
Gephi Community Manager
Posts:964
Joined:09 Dec 2009 14:41
[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: Recent updates on GEXF time support

Post by admin » 08 Dec 2010 21:38

Hi,

You do right, but this feature is currently not supported in Gephi. :?

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