Skip to content
davidjurgens edited this page Jun 4, 2012 · 2 revisions

Overview

Linguistic information can often be modeled using graphs. For example, words may be vertices and edges may represent associates between words. The S-Space Package includes a robust, low-memory, high performance graph library for easily and scalably modeling large graphs. This library is focused on algorithmic operations on high-dimensional, sparse graphs, with additional support for multigraphs.

Objectives

While there are many other Java graph libraries available (e.g., Jung, Gephi, or JGraphT), we implemented a separate package to achieve the following objectives, which are not currently met:

  1. Support for multigraphs networks, where nodes are connected by one or more distinct relationships.

  2. Support for efficient motif-based operations, where subgraphs of an input graph can easily be enumerated and compared. This objective also includes fast comparison of graph isomorphism for multigraphs.

  3. A Collections-like API for working with graphs.

Highlights:

The S-Space Package graph library features several features not found elsewhere.

  • A full, open-source Java implementation of Fanmod, which is also multithreaded.

  • A Java port of the VF2 graph isomorphism testing and matching from the VFLib library. This method has been extended to additionally support multigraph isomorphism detection.

  • A API that uses Java primitives and primitive-based Collections to support fast access and operations

  • Support for reading and writing a variety of formats, including GraphML, GEXF, Pajek, DOT, and edge lists.

  • Support for four main graph types: undirected, directed, weighted, and typed (multigraphs), and all meaningful combinations there of.

Examples

forthcoming.

For more information, see the edu.ucla.sspace.graph package and its subpackages.