- Notifications
You must be signed in to change notification settings - Fork0
JGRAM: A Graph Mining Library in Java
License
ghaffarian/jgram
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
JGRAM is aJava library forGraph-Mining. Graph-Mining is the task of recognizing and extractinginteresting patterns from a database of graphs. Graph-Mining differs from data-mining in the sense that data-mining is only concerned with patterns in data values, while graphs are connected and structured-data, and the structure is as important as data-values themself.
Graph-Mining includes many techniques and sub-areas, where implementation of some of the most important algorithms will be provided in this library. The main sub-areas of graph-mining that are targeted in JGRAM are:
- Graph Matching
- Frequent Subgraph Mining
- Graph Clustering
- Graph Kernels
- Graph Learning
JGRAM is based on theGraphs library (a graph library in Java) and can process graph objects from that library, produced by any other program (such asPROGEX). JGRAM can also take graphs as input in several external formats; including:
This is an internal project by members of our lab fromAmirkabir University of Technology, as a sub-project of the PhD thesis ofSeyed Mohammad Ghaffarian. Seyed Mohammad Ghaffarian is the owner, designer, and main developer of JGRAM.
The development of JGRAM is done using theNetbeans IDE, with anApache Maven project structure, under the terms of theLGPL-v3.0 license.
Surprisingly, searching the Internet for an open-source graph-mining library in a popularprogramming-language (such as Java or Python) which includes algorithms of the aforementioned areas (such as subgraph-mining and graph-clustering) had no results! Since graph-mining algorithms were a requirement for the experiments of my PhD thesis, I had no choice but to start creating a suitable graph-mining library by myself.
JGRAM IS STILL IN EARLY DEVELOPMENT STAGE andNOT SUITABLE TO BE USED IN ANY MANNER.
As soon as we publish a usable release, this section will be updated with proper instructions.