yunshengb/SimGNN

Problem installing graph-matching-toolkit

Closed this issue · 5 comments

Hello,

I'm running into problems when building the graph-matching-toolkit. It appears some classes are missing when I try to compile using ant. Wondering if you ran into similar problems for this project. Posted an issue on the original repo but I am not sure it is monitored closely anymore.

$ ant
Buildfile: /home/mcb/cgonza11/SimGNN/src/graph-matching-toolkit/build.xml

build-subprojects:

init:

build-project:
     [echo] graph-matching-toolkit: /home/mcb/cgonza11/SimGNN/src/graph-matching-toolkit/build.xml
    [javac] Compiling 56 source files to /home/mcb/cgonza11/SimGNN/src/graph-matching-toolkit/bin
    [javac] /home/mcb/cgonza11/SimGNN/src/graph-matching-toolkit/src/util/CentralityInterface.java:4: error: package edu.uci.ics.jung.graph does not exist
    [javac] import edu.uci.ics.jung.graph.SparseMultigraph;
    [javac]                              ^
    [javac] /home/mcb/cgonza11/SimGNN/src/graph-matching-toolkit/src/util/CentralityInterface.java:5: error: package edu.uci.ics.jung.graph.util does not exist
    [javac] import edu.uci.ics.jung.graph.util.EdgeType;
    [javac]                                   ^
    [javac] /home/mcb/cgonza11/SimGNN/src/graph-matching-toolkit/src/util/CentralityInterface.java:6: error: package edu.uci.ics.jung.algorithms.scoring does not exist
    [javac] import edu.uci.ics.jung.algorithms.scoring.*;
    [javac] ^
    [javac] /home/mcb/cgonza11/SimGNN/src/graph-matching-toolkit/src/util/CentralityInterface.java:7: error: package edu.uci.ics.jung.algorithms.shortestpath does not exist
    [javac] import edu.uci.ics.jung.algorithms.shortestpath.*;
    [javac] ^
    [javac] /home/mcb/cgonza11/SimGNN/src/graph-matching-toolkit/src/util/CentralityInterface.java:26: error: cannot find symbol
    [javac] 		EdgeType edgeType = graph.isDirected() ? EdgeType.DIRECTED : EdgeType.UNDIRECTED;
    [javac] 		^

The missing classes don't appear to be part of the repo..

Thanks!

As said in the README:

Please let us know if you have any questions. Thanks!

Hello, thanks for your quick reply!

Yeah I'm not sure I know how to follow the instructionUnzip the archive Sources.zip, integrate the whole framework in an IDE (e.g. Eclipse) and build the project.

First, there is no Sources.zip file. I'm assuming it's just the whole repo.

Opening the repo on Eclipse and running Project > Build Project results in the same errors:

see here

I assume I'm missing the 'integration' step but not sure what is meant by that.

Sorry my java is not very advanced.

Thanks again!
Carlos

Hi Carlos,

No worries! We will help you out.

You can ignore some of the errors, since not all of these java files are needed to run the GED algorithms. You only need to make sure that src/algorithms/GraphMatching.java compiles fine. You can check it by:

  1. Click Run Connfigurations
  2. Create a new Java Application
  3. Specify Main class as algorithms.GraphMatching
  4. Go to the Arguments Tab
  5. Set Program arguments to <your_own_path>/GraphEmbedding/src/graph-matching-toolkit_copy/properties/<select_one_from_properties>.prop
  6. Click Run

You should see something like this:

--- GMT - v-1.1.0 - 05/10/2017 ---
Init from properties...
Matching...

0/1 (7vs5)    
Enter loop count 2802

Printing the results...
Done!

The exact message depends on the property file and input graphs you selected. Check out this for detailed instructions on the meaning of the property file.

The result is saved under /result.

Please let us know if you encounter any problem. Thanks!

Yunsheng

Ah yes I suspected some files would not be needed. Thanks Yunsheng!
Carlos

Hi Carlos,

No worries! We will help you out.

You can ignore some of the errors, since not all of these java files are needed to run the GED algorithms. You only need to make sure that src/algorithms/GraphMatching.java compiles fine. You can check it by:

  1. Click Run Connfigurations
  2. Create a new Java Application
  3. Specify Main class as algorithms.GraphMatching
  4. Go to the Arguments Tab
  5. Set Program arguments to <your_own_path>/GraphEmbedding/src/graph-matching-toolkit_copy/properties/<select_one_from_properties>.prop
  6. Click Run

You should see something like this:

--- GMT - v-1.1.0 - 05/10/2017 ---
Init from properties...
Matching...

0/1 (7vs5)    
Enter loop count 2802

Printing the results...
Done!

The exact message depends on the property file and input graphs you selected. Check out this for detailed instructions on the meaning of the property file.

The result is saved under /result.

Please let us know if you encounter any problem. Thanks!

Yunsheng

Hi
I ran the GrapgMatching.java as the following steps, and it worked OK. But the output printed was not true, it contained many 0, like this:
*** The similarity matrix exp(-d) ***

... data is printed in the following order ((s)ource,(t)arget):

[d(s1,t1); d(s1,t2); d(s1,t3); ... d(s1,tn); d(s2,t1); d(s2,t2);...]

0.00000
0.00469
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
0.00000
7
10
-1.0