Grami

GRAMI: Frequent Subgraph and Pattern Mining in a Single Large Graph

GraMi is a novel framework for frequent subgraph mining in a single large graph, GraMi outperforms existing techniques by 2 orders of magnitudes, it supports finding frequent subgraphs as well as frequent patterns, Compared to subgraphs, patterns offer a more powerful version of matching that captures transitive interactions between graph nodes (like friend of a friend) which are very common in modern applications. Also, GraMi supports user-defined structural and semantic constraints over the results, as well as approximate results. ​

Download:
GraMi_v1 

GraMi on Amazon EC2:
AMI ID: ami-90fc15f8 

For more information on how to launch an AMI on Amazon EC2, check the following link:
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AMIs.html 

Once you launch GraMi instance , you can connect to it using the following ssh command:
ssh [-i identity_file] [user@]hostname
Click here for more information on how to connect to an EC2 instance using SSH. 

After connecting successfully to the server, go into grami folder:
cd ./grami 

Finally, try the following example:
./grami -f citeseer.lg -s 160 -t 1 -p 1 -d 200 

Notice that as you use larger graphs, you will need large memory. Make sure that your EC2 instance has enough RAM, or try to increase java heap. Increase java heap space 

You can check the result by opening the output file: 'Output.txt'. The first line shows the elapsed time in seconds, the second line contains the number of frequent subgraphs, then there is the list of frequent subgraphs. 

Relevant Publications:
Mohammed Elseidy, Ehab Abdelhamid, Spiros Skiadopoulos, and Panos Kalnis. GRAMI: Frequent Subgraph and Pattern Mining in a Single Large Graph. PVLDB, 7(7):517-528, 2014. 
www.vldb.org/pvldb/vol7/p517-elseidy.pdf

For more information about GraMi, check this link
​​​
For questions or comments contact Ehab Adbelhamid: ehab.abdelhamid@kaust.edu.sa