Software Engineering Ontology Annotation
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