INRIA & UMontrŽal

fr.inrialpes.exmo.align.impl
Class SimExtract

java.lang.Object
  extended byfr.inrialpes.exmo.align.impl.alignmentExtractor
      extended byfr.inrialpes.exmo.align.impl.SimExtract
All Implemented Interfaces:
Extractor, PreAlignment

public class SimExtract
extends alignmentExtractor
implements PreAlignment

Extract a alignment from a distance of similarity Measure //JE: I am pretty sure that most of this class is useless. As a matter of fact, it copies the similarity into a matrix... instead of asking it (and iterating on the objects).

Author:
jpierson

Field Summary
private  java.util.Vector classlist1
           
private  java.util.Vector classlist2
           
private  double[][] classmatrix
          class similarity matrix
private  double[][] individualmatrix
          Individual similarity matrix
private  java.util.Vector individulist1
           
private  java.util.Vector individulist2
           
private  int nbclass1
           
private  int nbclass2
           
private  int nbindividu1
           
private  int nbindividu2
           
private  int nbprop1
           
private  int nbprop2
           
private  OWLOntology onto1
           
private  OWLOntology onto2
           
private  java.util.Vector proplist1
           
private  java.util.Vector proplist2
           
private  double[][] propmatrix
          properties similarity matrix
private  Similarity sim
           
private  double threshold
           
 
Constructor Summary
SimExtract(java.lang.String simClassName)
           
 
Method Summary
 void align(Parameters param)
          Intialize the Alignment extraction process.
 void createDistanceMatrix()
          Create a Similarity Matrix between the terms of the two ontologies
 Alignment extractAlignment(java.lang.String type)
          Extract an alignment form the Similarity Matrix.
 double getClassMatrix(int i, int j)
           
 double getIndividualMatrix(int i, int j)
           
 int getnbclass1()
           
 int getnbclass2()
           
 int getnbindividu1()
           
 int getnbindividu2()
           
 int getnbprop1()
           
 int getnbprop2()
           
 double getProMatrix(int i, int j)
           
 Similarity getSimilarity()
           
 
Methods inherited from class fr.inrialpes.exmo.align.impl.alignmentExtractor
extract, threshold
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

onto1

private OWLOntology onto1

onto2

private OWLOntology onto2

sim

private Similarity sim

propmatrix

private double[][] propmatrix
properties similarity matrix


classmatrix

private double[][] classmatrix
class similarity matrix


individualmatrix

private double[][] individualmatrix
Individual similarity matrix


nbclass1

private int nbclass1

nbclass2

private int nbclass2

nbprop1

private int nbprop1

nbprop2

private int nbprop2

nbindividu1

private int nbindividu1

nbindividu2

private int nbindividu2

classlist2

private java.util.Vector classlist2

classlist1

private java.util.Vector classlist1

proplist2

private java.util.Vector proplist2

proplist1

private java.util.Vector proplist1

individulist2

private java.util.Vector individulist2

individulist1

private java.util.Vector individulist1

threshold

private double threshold
Constructor Detail

SimExtract

public SimExtract(java.lang.String simClassName)
           throws java.lang.ClassNotFoundException,
                  java.lang.IllegalAccessException,
                  java.lang.InstantiationException,
                  java.lang.reflect.InvocationTargetException
Method Detail

align

public void align(Parameters param)
Intialize the Alignment extraction process.

Parameters:
param -

createDistanceMatrix

public void createDistanceMatrix()
Create a Similarity Matrix between the terms of the two ontologies

Specified by:
createDistanceMatrix in interface PreAlignment

extractAlignment

public Alignment extractAlignment(java.lang.String type)
Extract an alignment form the Similarity Matrix. It only keeps the best alignment for each entity of ontology1 under the condition that it is not under threshold. The algorithm does not even test that the corresponding object in ontology2 is not already in an anlignment... A greedy method for that would be: - test it (easy) - if it is the case, then choose the best of the two and reiterate the computation on the other. - beware of two things: (a) this will require to map the objects to their rank, (b) do change something ONLY if it is stricly better [less optimal but terminates]

Returns:
A basicAligment object

getSimilarity

public Similarity getSimilarity()
Returns:
the Similiraty Measure object

getProMatrix

public double getProMatrix(int i,
                           int j)

getClassMatrix

public double getClassMatrix(int i,
                             int j)

getIndividualMatrix

public double getIndividualMatrix(int i,
                                  int j)

getnbclass1

public int getnbclass1()
Returns:
the number of class for the ontology 1

getnbclass2

public int getnbclass2()
Returns:
the number of class for the ontology 2

getnbprop1

public int getnbprop1()
Returns:
the number of propriete for the ontology 1

getnbprop2

public int getnbprop2()
Returns:
the number of properties for the ontology 2

getnbindividu1

public int getnbindividu1()
Returns:
the number of Individual for the ontology 1

getnbindividu2

public int getnbindividu2()
Returns:
the number of individual for the ontology 2

INRIA & UMontrŽal

..no bottom yet...