top of page

Levenshtein Solution 3 source code

 

public class Leven {

 

                public static void main(String[] args) {

                                // TODO Auto-generated method stub

                                String A = "";

                                String B = "";

                                if (args.length > 0) {

                                                A = args[0];

                                                B = args[1];

                    }

                                LD(A,B);

                }

 

 

//calculate the minimum of 3 values

                                  public static int Minimum (int a, int b, int c) {

                                  int min;

 

                                    min = a;

                                    if (b < min) {

                                      min = b;

                                    }

                                    if (c < min) {

                                      min = c;

                                    }

                                    return min;

 

                                  }

 

//compute matrix

                                  public static int LD(String s, String t) {

                                  int d[][]; // matrix

                                  int n = s.length (); // length of String s

                                  int m = t.length (); // length of t

                                  char s_i; // ith character of s

                                  char t_j; // jth character of t

                                  int cost; // cost

 

                                    //init matrix

                                    if (n == 0) {

                                      return m;

                                    }

                                    if (m == 0) {

                                      return n;

                                    }

                                    d = new int[n+1][m+1];

 

                                    // fill epsilon

 

                                    for (int i = 0; i <= n; i++) {

                                      d[i][0] = i;

                                    }

 

                                    for (int j = 0; j <= m; j++) {

                                      d[0][j] = j;

                                    }

 

                                    // calculate matrix values

                                    for (int i = 1; i <= n; i++) {

                                      s_i = s.charAt (i-1);

 

                                      for (int j = 1; j <= m; j++) {

                                        t_j = t.charAt(j-1);

 

                                        if (s_i == t_j) { //if same letter, no cost added

                                          cost = 0;

                                        }

                                        else {

                                          cost = 1;  //if not same letter, add cost 1

                                        }

 

                                        // fill in matrix values

                                        d[i][j] = Minimum (d[i-1][j]+1, d[i][j-1]+1, d[i-1][j-1] + cost);

                                      }

                                     

                                    }

                                   

                                    // output

                                    for (int i = 0; i <= n; i++) {                                              

 

                                                    for (int j = 0; j <= m; j++) {

                                                      System.out.print(d[i][j]+" ");

                                                    }

                                                    System.out.println();

                                    }

                                  System.out.println("Levenshtein distance is "+d[n][m]);

                                   

                                    return d[n][m];

 

                                  }

 

                                }

 

Annotation in text format

 

File Name >> solution8.java

File Creation data >> 1425000729062

Java Classes --> Leven

Method Name --> main

Method return type --> void

Method Name --> Minimum

Method return type --> int

Method Name --> LD

Method return type --> int

 

Annotation in RDF format

 

<rdf:RDF

    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"

    xmlns:SEO="http://www.seontology.org/activeseo/seo/v1#"

    xmlns:DC="http://purl.org/dc/dcmitype/"

    xmlns:foaf="http://xmlns.com/foaf/0.1/">

  <DC:Software rdf:about="http://www.seontology.org/activeseo/seoanno/data/Minimum">

    <SEO:methodHasParam>

      <DC:Software rdf:about="http://www.seontology.org/activeseo/seoanno/data/Minimum/Parameter_3">

        <SEO:isParamArray>false</SEO:isParamArray>

        <SEO:paramType>int</SEO:paramType>

        <SEO:paramName>c</SEO:paramName>

        <SEO:paramSeq>3</SEO:paramSeq>

        <foaf:name>c</foaf:name>

        <rdf:type rdf:resource="http://www.seontology.org/activeseo/seo/v1#PARAMETER"/>

      </DC:Software>

    </SEO:methodHasParam>

    <SEO:hasAccessModifier rdf:resource="http://www.seontology.org/activeseo/seo/v1#Public"/>

    <SEO:hasStaticModifier>true</SEO:hasStaticModifier>

    <SEO:isReturnPrimitive>true</SEO:isReturnPrimitive>

    <SEO:methodHasParam>

      <DC:Software rdf:about="http://www.seontology.org/activeseo/seoanno/data/Minimum/Parameter_2">

        <SEO:isParamArray>false</SEO:isParamArray>

        <SEO:paramType>int</SEO:paramType>

        <SEO:paramName>b</SEO:paramName>

        <SEO:paramSeq>2</SEO:paramSeq>

        <foaf:name>b</foaf:name>

        <rdf:type rdf:resource="http://www.seontology.org/activeseo/seo/v1#PARAMETER"/>

      </DC:Software>

    </SEO:methodHasParam>

    <SEO:returnType>int</SEO:returnType>

    <SEO:methodHasParam>

      <DC:Software rdf:about="http://www.seontology.org/activeseo/seoanno/data/Minimum/Parameter_1">

        <SEO:isParamArray>false</SEO:isParamArray>

        <SEO:paramType>int</SEO:paramType>

        <SEO:paramName>a</SEO:paramName>

        <SEO:paramSeq>1</SEO:paramSeq>

        <foaf:name>a</foaf:name>

        <rdf:type rdf:resource="http://www.seontology.org/activeseo/seo/v1#PARAMETER"/>

      </DC:Software>

    </SEO:methodHasParam>

    <rdf:type rdf:resource="http://www.seontology.org/activeseo/seo/v1#METHOD"/>

    <SEO:methodName>Minimum</SEO:methodName>

    <foaf:name>Minimum</foaf:name>

    <SEO:methodDeclarationSignature>int Minimum(int a, int b, int c)</SEO:methodDeclarationSignature>

    <SEO:methodCallSignature>Minimum(a, b, c)</SEO:methodCallSignature>

  </DC:Software>

  <DC:Software rdf:about="http://www.seontology.org/activeseo/seoanno/data/main/Parameter_1">

    <SEO:isParamArray>true</SEO:isParamArray>

    <SEO:paramType>java.lang.String</SEO:paramType>

    <SEO:paramName>args</SEO:paramName>

    <SEO:paramSeq>1</SEO:paramSeq>

    <foaf:name>args</foaf:name>

    <rdf:type rdf:resource="http://www.seontology.org/activeseo/seo/v1#PARAMETER"/>

  </DC:Software>

  <SEO:METHOD rdf:about="http://www.seontology.org/activeseo/seoanno/data/main">

    <SEO:methodHasParam rdf:resource="http://www.seontology.org/activeseo/seoanno/data/main/Parameter_1"/>

    <SEO:hasStaticModifier>true</SEO:hasStaticModifier>

    <SEO:hasAccessModifier rdf:resource="http://www.seontology.org/activeseo/seo/v1#Public"/>

    <foaf:name>main</foaf:name>

    <SEO:methodDeclarationSignature>void main(java.lang.String[] args)</SEO:methodDeclarationSignature>

    <rdf:type rdf:resource="http://purl.org/dc/dcmitype/Software"/>

    <SEO:returnType>void</SEO:returnType>

    <SEO:methodName>main</SEO:methodName>

    <SEO:isReturnPrimitive>true</SEO:isReturnPrimitive>

    <SEO:methodCallSignature>main(args)</SEO:methodCallSignature>

  </SEO:METHOD>

  <DC:Software rdf:about="http://www.seontology.org/activeseo/seoanno/data/LD/Parameter_1">

    <SEO:isParamArray>false</SEO:isParamArray>

    <SEO:paramType>java.lang.String</SEO:paramType>

    <SEO:paramName>s</SEO:paramName>

    <SEO:paramSeq>1</SEO:paramSeq>

    <foaf:name>s</foaf:name>

    <rdf:type rdf:resource="http://www.seontology.org/activeseo/seo/v1#PARAMETER"/>

  </DC:Software>

  <SEO:METHOD rdf:about="http://www.seontology.org/activeseo/seoanno/data/LD">

    <SEO:isReturnPrimitive>true</SEO:isReturnPrimitive>

    <SEO:hasAccessModifier rdf:resource="http://www.seontology.org/activeseo/seo/v1#Public"/>

    <SEO:returnType>int</SEO:returnType>

    <rdf:type rdf:resource="http://purl.org/dc/dcmitype/Software"/>

    <SEO:methodCallSignature>LD(s, t)</SEO:methodCallSignature>

    <SEO:methodHasParam rdf:resource="http://www.seontology.org/activeseo/seoanno/data/LD/Parameter_1"/>

    <SEO:methodHasParam>

      <DC:Software rdf:about="http://www.seontology.org/activeseo/seoanno/data/LD/Parameter_2">

        <SEO:isParamArray>false</SEO:isParamArray>

        <SEO:paramType>java.lang.String</SEO:paramType>

        <SEO:paramName>t</SEO:paramName>

        <SEO:paramSeq>2</SEO:paramSeq>

        <foaf:name>t</foaf:name>

        <rdf:type rdf:resource="http://www.seontology.org/activeseo/seo/v1#PARAMETER"/>

      </DC:Software>

    </SEO:methodHasParam>

    <SEO:methodName>LD</SEO:methodName>

    <SEO:hasStaticModifier>true</SEO:hasStaticModifier>

    <foaf:name>LD</foaf:name>

    <SEO:methodDeclarationSignature>int LD(java.lang.String s, java.lang.String t)</SEO:methodDeclarationSignature>

  </SEO:METHOD>

  <DC:Software rdf:about="http://www.seontology.org/activeseo/seoanno/data/Leven">

    <SEO:hasMethod rdf:resource="http://www.seontology.org/activeseo/seoanno/data/LD"/>

    <SEO:hasMethod rdf:resource="http://www.seontology.org/activeseo/seoanno/data/Minimum"/>

    <SEO:hasMethod rdf:resource="http://www.seontology.org/activeseo/seoanno/data/main"/>

    <SEO:hasAccessModifier rdf:resource="http://www.seontology.org/activeseo/seo/v1#Public"/>

    <foaf:name>Leven</foaf:name>

    <rdf:type rdf:resource="http://www.seontology.org/activeseo/seo/v1#CLASS"/>

  </DC:Software>

</rdf:RDF>

 

Annotation in graph format

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

bottom of page