Community ~ gexf gexf4j
Francesco Ficarola is a Computer Engineer and a Ph.D. student at the Sapienza University of Rome. In addition he is been working for an Italian company as R&D Engineer for one year. His main research interests are Wireless Sensor Networks, Social Networking and whatever concerns “Internet of Things”.
Gephi supports the 1.2draft of GEXF file format since version 0.8. Until now, if you are a Java developer, you couldn’t use any up-to-date Java library to manage this version of the format. The only available library for building GEXF graphs was gexf4j-core v.0.2.0-ALPHA by J. Campanini. Unfortunately that library implemented GEXF 1.1draft only, and is no longer maintained. So I have decided to update that library in order to work and build GEXF 1.2draft compliant graphs. This version introduced many improvements, see the changelog.
The latest version of gexf4j (currently 0.3.1) supports new XML attributes and data types to encode dynamic networks:
- timeformat or spell
- open intervals (startopen/endopen)
- double
- date
- xsd:dateTime
In addition, the javadoc has been added and all methods have now meaningful names for their parameters.
Creating a GEXF file with gexf4j is very simple and requires very few lines of code: read the two examples in the project README file, or find them in the “it.uniroma1.dis.wiserver.gexf4j.examples” project package.
Finally, if you would like to support this project, please let me know, you are welcome… and if you want to stay informed about the latest news on gexf4j, just follow me on Twitter: @f_ficarola
Checkout code
Run
git clone git://github.com/francesco-ficarola/gexf4j.git
Report issues
Simply go to the Issues tab.
Have a nice “GEXF graph”!
Francesco Ficarola
Functionality Plugins ~ console plugin python
The first release of the Gephi’s Python Console plugin is finally available for download. Through this plugin, you can execute queries and manipulate the graph structure by typing commands on a scripting console, making it a very powerful and concise tool to work with.
This console started as a joint proposal with the GUESS project which aimed at porting the Gython language as a console plugin for Gephi during the Google Summer of Code 2011 program. This project was mentored by Eytan Adar, from the GUESS project, and co-mentored by Mathieu Bastian, from Gephi.
After installation, the plugin can be accessed through the left slide on Gephi’s UI or through the Window > Console.

Among the features available through the console scripting language are:
- Inspired by the Gython language from the GUESS project (i.e. additional operators for manipulating graphs).
- Based on Jython 2.5.2, which implements the Python 2.5 specification.
- Graph structure and attributes manipulation.
- Filtering support.
- Support for running layouts.
- Export API support (i.e. generate PDF/GEXF/PNG exports from within the console).
- Batch scripts support for automating tasks.
- Loads third-party Python libraries.
For example, if you would like to filter the male persons from your social graph and make the result visible, you could simply type the following command:
visible = g.filter(gender == "male")
If you want set this subgraph nodes’ color to blue, you could just type:
g.filter(gender == "male").nodes.color = blue
Or, even better, if you want to color both the nodes and edges of this same subgraph, just type:
(gender == "male").color = blue
Implementing batch scripts for automating tasks is very easy. Just save the script as a file with the py extension and load it with the execfile function. For instance, a batch script for creating a random graph with 50 nodes would look like this:

And to run the script, you would call the following command on the console:
>>> execfile("C:\\Users\\user\\Documents\\script.py")
Installation
The Scripting Plugin can be installed through the Gephi’s Tools/Plug-ins menu:
- Go to the Tools > Plug-ins menu on Gephi’s user interface.
- Open the Available Plugins tab.
- Click the “Reload Catalog” button, to make sure you have an up-to-date catalog.
- Select the “Scripting Plugin” on the list and click the Install button.
After installation, the plugin can be accessed through the left slide on Gephi’s UI (as shown in the image below) or through the Window > Console menu.

Documentation
The console’s documentation at the wiki has instructions for downloading and installing the plugin.
Feedback and Contributing
This plugin has been developed by Luiz Ribeiro since the Google Summer of Code 2011 program and we’re really looking forward to see what you’ll be able to do with this new tool.
The plugin’s source code is hosted on GitHub and is open to your contributions. If you find any bugs or have requests or feature ideas make sure to open a new ticket on the Issues Tracker.
Community ~ news
We started the weekly news in March, however this experiment was discontinuous. We come back with monthly news, to give the important news to the people who don’t have a Twitter account or who don’t connect to it each regularly.
Job offering:
New plugin:
Next community events:
New Web articles:
New research papers:
- F. Celli, L. Rossi: The Role of Emotional Stability in Twitter Conversations, Proceedings of the Workshop on Semantic Analysis in Social Media, part of the 13th Conference of the European Chapter of the Association for Computational Linguistics (EACL 2012)
- P. Oldham, S. Hall, G. Burton: Synthetic Biology: Mapping the Scientific Landscape, PLoS ONE 7(4): e34368
- J. Lee et al.: Social Network Based Reputation Computation and Document Classification, Journal of Universal Computer Science, vol. 18, no. 4 (2012), 532-553
- C. Horsethief: Re-differentiation as collective intelligence: The Ktunaxa language online community, CI2012
- J. Jerkins: MINA: an algorithm for detecting the presence of extrinsic network nodes using a message induced graph, Proceedings of the 50th Annual Southeast Regional Conference (ACM-SE’12)
- B. Latour, P. Jensen, T. Venturini, S. Grauwin, D. Boullier: The Whole is Always Smaller Than Its Parts, British Journal of Sociology
- M. Fatemi, L. Tokarchuk: An Empirical Study on IMDb and its Communities Based on the Network of Co-Reviewers, Proceedings of MPM’12
- Z. Batist: Feasting in Bronze Age Greece: A Network Analysis Approach, Bachelor of Arts, Carleton University
- M. Turalska, E. Geneston, B.J. West, P. Allegrini, and P. Grigolini: Cooperation-Induced Topological Complexity: A Promising Road to Fault Tolerance and Hebbian Learning, Front Physiol. 2012; 3: 52
- J. Kelly, V. Barash, K. Alexanyan, B. Etling, R. Faris, U. Gasser, J. Palfrey: Mapping Russian Twitter, Berkman Center Research Publication No. 2012-3
- T. Vinodrai et al.: Taking regional action? Understanding networks in the local food, green energy & creative sectors in Waterloo region, Economic Developers Council of Ontario (EDCO)
- J. Devezas, H. Alves, A. Figueir: Creating News Context From a Folksonomy of Web Clipping, ICDMA2012
- L. Gilarranz, J. Bascompte: Spatial network structure and metapopulation persistence, Journal of Theoretical Biology, 297: 11-16
Announcement Community ~ gsoc
The Google Summer of Code 2012 has officially started! The results have been announced by Google. Congratulations to the students who join the Gephi project:
- Eduardo Espinoza – Legend Module in Preview
- Romain Yon – Cloud Gephi
- Taras Klaskovsky – Force Directed Edge Bundling algorithm
- Vikash Anand – Statistics Reports and HTML5 Charts
- Min WU – Interconnect Graph Streaming API and GraphStream
You put a lot of attention on doing the bests applications and demonstrate great motivation in addition to strong technical skills. We are very excited to work with you guys!
This year we are also honored to count on world-class researchers as mentors: Yoann Pigné is an Assistant Professor at the university of Le Havre, France, and is a leader of the GraphStream project. We will co-mentor the Graph Streaming project with André Panisson, our former Google Summer of Code student. André got his Ph.D. recently, and authored the video of the Egyptian Revolution on Twitter. Finally, Christian Tominski, who mentored the Preview refactoring last year, will mentor the Force Directed Edge Bundling project. He is a Lecturer and Researcher at the Institute for Computer Science at the University of Rostock. He has authored several articles in the field of information visualization.
Former Google Summer of Code students will also mentor and advise students, like Luiz Ribeiro.
* Until May 21: Students get to know mentors, read documentation, get up to speed to begin working on their projects.
* May 21: Students starts to code
* July 13: Mid-term evaluation
* August 24: Final evaluation
Announcement ~ 0.8.1 localization release timelime
The latest version of Gephi has been released, download it for Windows, Mac OS and Linux platforms. This release delivers a complete new timeline component with many awaited features. The timeline is at the heart of our dynamic network analysis (longitudinal networks) effort at Gephi and this feature is the result of last year’s Google Summer of Code. It gives the ability to explore a network over time in a very powerful way.

New Timeline with embedded sparkline. Example with a Twitter user network.
The timeline new features include animation (play button), custom bounds and embedded sparkline. In the previous Gephi version we added the ability to run metrics over time. For instance, one can calculate the average degree over time or simply the number of nodes (like in the example above). With the new timeline it’s possible to display a dynamic attribute directly in the component. For example if you’re looking at a Twitter network you can plot the total number of tweets as a sparkline.
This release also ships with three new languages: Czech, Chinese and Russian. Special Thanks to our awesome localization team.

We just started the Google Summer of Code with exciting projects! We’re looking for talented students this summer (apply here). The team will also work on the next major release of Gephi (0.9). If you have ideas or suggestions, please don’t hesitate to express then on our forum or through GitHub issues. Our roadmap is open and most ideas comes from users’ experience.
Because it’s a major release, changes are not deployed through the AutoUpdate, you need to download and install the new version. Plug-ins also need to be checked for compatibility. They will reappear on the Plugin Center in the coming days, as they are verified. Thanks for your patience.
Consult the release notes and the new Javadoc for more information.
New features
 |
New Timeline
Exciting new timeline with animation, custom bounds settings and embedded spakline. The timeline interval and bounds can now be set manually by the user. By hitting the play button the interval moves automatically. All parameters can be configured. The timeline date support has been completely rewritten, now showing dates and periods in a readable way. |
 |
Local/Global Ranking
Compare networks over time or with different filters is now easier as Ranking lets you decide whether the scale should be local or global. In local scale, sizes and colors depend on the visible sub-graph. In global scale (set by default) they depend on the whole graph, thus allowing comparisons over time. |
 |
Weighted community-detection
Louvain Modularity (Community detection) adds edge weight support and resolution setting. |
New and Noteworthy
* Better Preview performance when hidden edges (good for large graphs)
* Self-loop filter. Remove self loops in the graph.
New localization (Go to Tools > Languages)
* Russian
* Chinese (China)
* Czech
Bug fixes
* Exception when deserializing a preview preset (Issue 554)
* ClassCastException when saving a gephi file after PDF export (Issue 552)
* Cannot Preserve Z-Coordinate in GEXF exporter (Issue 547)
* Gephi won’t start on Mac OS X Lion because of a missing JAWT library (Issue 542)
* Add a local/global scale button to Ranking (Issue 541)
* Spreadsheet import: edge weight not imported (Issue 540)
* NOT operator wrong with topology filters (Issue 539)
* Multiple partition filters not named: cannot tell them apart (Issue 537)
* AttributeContollerImpl should be renamed to AttributeControllerImpl (Issue 530)
* Timeline – Set Custom Bounds does not support DATETIME (Issue 529)
* Data Laboratory – Dynamic Attributes Edit function resets values (Issue 528)
* DL exporter fix (Issue 525)
* Validator of MySQL’s “host” field (Issue 521)
* Edge/Node attributes don’t support datetime format (Issue 518)
* Directed Graph cluster coefficient provides incorrect values in certain situations (Issue 517)
* NullPointer in GUI when defining range Filters (Issue 516)
* datalab: empty column fails edge csv import (Issue 515)
* updateDimensions in PreviewController does not take into account node size (Issue 514)
* Overview’s graph area does not redraw edges automatically (Issue 513)
* c+p correction: HITS hub chart was repeated twice in output. (Issue 510)
* database import from Postgres does not handle node color attribute (Issue 506)
* Incorrect Teradata JDBC url (Issue 505)
* [Datalab] Duplicated nodes on import spreadsheet (Issue 498)
* [Datalab] Failing silently to load attribute values on import spreadsheet (Issue 497)
* Attribute Columns Property editors don’t support dynamic numbers (Issue 494)
* Arrows not hidden when edges hidden on Preview (Issue 493)
* Some text appears garbled when loaded from a project file (Issue 488)
* Exception when adding a new Perspective plugin development (Issue 486)
* NullPointer Exception with Edge Labels (Issue 478)
* Filter range does not filter if min == max (Issue 477)
* Heatmap Tool Sometimes Doesn’t Work (Issue 472)
* deleting a field in data lab yields an error (Issue 468)
* Email imports can’t be cancelled (Issue 466)
* Invalid XML character error when loading a gephi file (Issue 465)
* Range Slider writes N/A if the min and max values are the same (Issue 464)
* datalab: exception on hiding a column used to sort the table (Issue 454)
* Can’t build without Netbeans installed (Issue 452)
* Auto-refresh not updated after changing the spline (Issue 448)
* AttributeRangeFilter returns main graph when nothing matches filter (Issue 435)
* Timeline need more precision when dealing with dates (Issue 202)
* Degree Filter Not Filtering as Subfilter in Tookit (Issue 69)
* UnsatisfiedLinkError on startup on Mac OS X (Issue 44)
Plugins development
Last november we migrated our source code from Launchpad to GitHub and have seen an increase of activity in plugin development. We also simplified the environment and wrote more documentation how to get started. We created a dedicated repository on GitHub and compiled a list of more than 20 different code examples on the Gephi Plugins Bootcamp.
Do Gephi technologies matter for your research or business? You can support us by donating to the Gephi Consortium, or becoming a member to have an impact on our roadmap.
Feel free to reach to us if you are willing to organize events (meetups, workshops, hackathon, etc.), we will support them.