https://github.com/innofang/subgraph-isomorphism
❄Implement the common subgraph isomorphism algorithms (i.e. Ullmann, VF2) based on MapReduce on Hadoop
https://github.com/innofang/subgraph-isomorphism
isomorphism mapreduce mapreduce-algorithm subgraph-count subgraph-isomorphism ullmann ullmann-algorithm vf2 vf2-algorithm
Last synced: 5 months ago
JSON representation
❄Implement the common subgraph isomorphism algorithms (i.e. Ullmann, VF2) based on MapReduce on Hadoop
- Host: GitHub
- URL: https://github.com/innofang/subgraph-isomorphism
- Owner: InnoFang
- License: gpl-3.0
- Created: 2019-01-06T13:17:12.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-07-01T17:42:02.000Z (over 3 years ago)
- Last Synced: 2025-04-05T14:51:13.961Z (6 months ago)
- Topics: isomorphism, mapreduce, mapreduce-algorithm, subgraph-count, subgraph-isomorphism, ullmann, ullmann-algorithm, vf2, vf2-algorithm
- Language: Java
- Homepage:
- Size: 19.6 MB
- Stars: 19
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Subgraph Isomorphism
❄Implement the common subgraph isomorphism algorithms (i.e. Ullmann, VF2) based on `MapReduce` on `Hadoop`.
More information, please see [wiki](https://github.com/InnoFang/subgraph-isomorphism/wiki)
More usage, please see test cases:
+ [GraphReaderTest](https://github.com/InnoFang/subgraph-isomorphism/blob/master/src/test/java/io/github/innofang/graph/GraphReaderTest.java)
+ [UllmannTest](https://github.com/InnoFang/subgraph-isomorphism/blob/master/src/test/java/io/github/innofang/lib/UllmannTest.java)
+ [VF2Test](https://github.com/InnoFang/subgraph-isomorphism/blob/master/src/test/java/io/github/innofang/lib/VF2Test.java)[Download](https://github.com/InnoFang/subgraph-isomorphism/releases) jar files for a try!
## What's subgraph isomorphism problem?
In theoretical computer science, the subgraph isomorphism problem is a computational task in which two graphs G and H are given as input, and one must determine whether G contains a subgraph that is isomorphic to H.
## the UML of Implementation of SubGraph Isomorphism Algorithms
the encapsulation and optimization of the Ullmann algorithm and the VF2 algorithm are carried out. The UML as follow:

## Flow Diagram of the MapReduce Process

## Reference & Bibliography
+ Wikipedia contributors. (2018, October 13). Subgraph isomorphism problem. In Wikipedia, The Free Encyclopedia. Retrieved 09:12, April 8, 2019, from https://en.wikipedia.org/w/index.php?title=Subgraph_isomorphism_problem&oldid=863918223
+ Ullmann J R. An algorithm for subgraph isomorphism[J]. Journal of the ACM (JACM), 1976, 23(1): 31-42. [link](https://www.cs.bgu.ac.il/~dinitz/Course/SS-12/Ullman_Algorithm.pdf)
+ Cordella L P, Foggia P and Sansone C. A (sub)graph isomorphism algorithm for matching large graphs[J]. IEEE PAMI, 2004, 26(10):1367–1372. [link](https://ieeexplore.ieee.org/document/1323804?arnumber=1323804&tag=1)
+ Ashish Sharma, Santosh Bahir, Sushant Narsale, Unmil Tambe, "A Parallel Algorithm for Finding Sub-graph Isomorphism", CS420-ProjectReport (www.cs.jhu.edu/~snarsal/CS420-ProjectReport.pdf), CS420: Parallel Programming. Fall 2008.
## [License](./LICENSE)
Subgraph Isomorphism: Implement the common subgraph isomorphism algorithms (i.e. Ullmann, VF2) based on MapReduce on Hadoop
Copyright (C) 2019 InnoFangThis program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.You should have received a copy of the GNU General Public License
along with this program. If not, see .