-
Notifications
You must be signed in to change notification settings - Fork 106
Graph Library
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.
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:
-
Support for multigraphs networks, where nodes are connected by one or more distinct relationships.
-
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.
-
A Collections-like API for working with graphs.
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.
forthcoming.
For more information, see the edu.ucla.sspace.graph package and its subpackages.