From: <chr...@us...> - 2011-10-26 08:41:47
|
Revision: 3321 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3321&view=rev Author: christinaunger Date: 2011-10-26 08:41:40 +0000 (Wed, 26 Oct 2011) Log Message: ----------- [tbsl] can now handle dates such as 'in 1950' Modified Paths: -------------- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_Pair.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_PairType.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/SlotBuilder.java trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/TestFrontend.java Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java 2011-10-26 07:52:30 UTC (rev 3320) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/converter/DRS2SPARQL_Converter.java 2011-10-26 08:41:40 UTC (rev 3321) @@ -289,19 +289,27 @@ SPARQL_PairType.EQ))); return query; } - - if (arity == 1) { - SPARQL_Term term = new SPARQL_Term(simple.getArguments().get(0).getValue(),false);term.setIsVariable(true); - query.addCondition(new SPARQL_Triple(term,new SPARQL_Property("type",new SPARQL_Prefix("rdf","")),prop)); + else if (predicate.equals("DATE")) { + query.addFilter(new SPARQL_Filter( + new SPARQL_Pair( + new SPARQL_Term(simple.getArguments().get(0).getValue(),false), + new SPARQL_Term("'^"+simple.getArguments().get(1).getValue()+"'",true), + SPARQL_PairType.REGEX))); } - else if (arity == 2) { - String arg1 = simple.getArguments().get(0).getValue();SPARQL_Term term1 = new SPARQL_Term(arg1,false);term1.setIsVariable(true); - String arg2 = simple.getArguments().get(1).getValue();SPARQL_Term term2 = new SPARQL_Term(arg2,false);term2.setIsVariable(true); - query.addCondition(new SPARQL_Triple(term1, prop, term2)); + else { + if (arity == 1) { + SPARQL_Term term = new SPARQL_Term(simple.getArguments().get(0).getValue(),false);term.setIsVariable(true); + query.addCondition(new SPARQL_Triple(term,new SPARQL_Property("type",new SPARQL_Prefix("rdf","")),prop)); + } + else if (arity == 2) { + String arg1 = simple.getArguments().get(0).getValue();SPARQL_Term term1 = new SPARQL_Term(arg1,false);term1.setIsVariable(true); + String arg2 = simple.getArguments().get(1).getValue();SPARQL_Term term2 = new SPARQL_Term(arg2,false);term2.setIsVariable(true); + query.addCondition(new SPARQL_Triple(term1, prop, term2)); + } + else if (arity > 2) { + // TODO + } } - else if (arity > 2) { - // TODO - } } return query; } Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_Pair.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_Pair.java 2011-10-26 07:52:30 UTC (rev 3320) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_Pair.java 2011-10-26 08:41:40 UTC (rev 3321) @@ -42,6 +42,8 @@ return "!BOUND(" + a + ")"; case NEQ: return a + "!=" + b; + case REGEX: + return "regex(" + a + "," + b + ")"; } return ""; } Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_PairType.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_PairType.java 2011-10-26 07:52:30 UTC (rev 3320) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/sparql/SPARQL_PairType.java 2011-10-26 08:41:40 UTC (rev 3321) @@ -2,5 +2,5 @@ public enum SPARQL_PairType { - GT, LT, GTEQ, LTEQ, EQ, NEQ, B, NB + GT, LT, GTEQ, LTEQ, EQ, NEQ, B, NB, REGEX } \ No newline at end of file Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/SlotBuilder.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/SlotBuilder.java 2011-10-26 07:52:30 UTC (rev 3320) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/SlotBuilder.java 2011-10-26 08:41:40 UTC (rev 3321) @@ -205,10 +205,14 @@ result.add(passEntry); } else if (pos.equals("VPASSIN")) { - String[] passEntry = {token, + String[] passEntry1 = {token, "(S DP[subj] (VP V:'" + token + "' DP[obj]))", "<x,l1,t,[ l1:[|], l4:[ | SLOT_" + token + "(x,y) ] ],[(l2,x,subj,<<e,t>,t>),(l3,y,obj,<<e,t>,t>)],[ l2<l1,l3<l1,l4<scope(l2),l4<scope(l3) ],[" + symslot + "]>"}; - result.add(passEntry); + String[] passEntry2 = {token, + "(S DP[dp] (VP V:'" + token + "' NUM[num]))", + "<x,l1,t,[ l1:[|], l4:[ y | SLOT_" + token + "(x,y), DATE(y,z) ] ],[(l2,x,dp,<<e,t>,t>),(l3,z,num,e)],[ l2<l1,l3<l1,l4<scope(l2),l4<scope(l3) ],[" + symslot + "]>"}; + result.add(passEntry1); + result.add(passEntry2); } else if (pos.equals("GERUNDIN")) { String[] gerundinEntry1 = {token, Modified: trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java =================================================================== --- trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 2011-10-26 07:52:30 UTC (rev 3320) +++ trunk/components-ext/src/main/java/org/dllearner/algorithm/tbsl/templator/Templator.java 2011-10-26 08:41:40 UTC (rev 3321) @@ -26,6 +26,7 @@ import org.dllearner.algorithm.tbsl.sem.dudes.data.Dude; import org.dllearner.algorithm.tbsl.sem.dudes.reader.ParseException; import org.dllearner.algorithm.tbsl.sparql.Slot; +import org.dllearner.algorithm.tbsl.sparql.SlotType; import org.dllearner.algorithm.tbsl.sparql.Template; public class Templator { @@ -179,7 +180,7 @@ newwords.add(word); newwords.addAll(strings); - if (wordnetpos != null) { + if (wordnetpos != null && !slot.getSlotType().equals(SlotType.RESOURCE)) { newwords.addAll(wordnet.getBestSynonyms(wordnetpos,getLemmatizedWord(word))); for (String att : getLemmatizedWords(strings)) { newwords.addAll(wordnet.getBestSynonyms(wordnetpos,att)); Modified: trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/TestFrontend.java =================================================================== --- trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/TestFrontend.java 2011-10-26 07:52:30 UTC (rev 3320) +++ trunk/components-ext/src/test/java/org/dllearner/algorithm/tbsl/TestFrontend.java 2011-10-26 08:41:40 UTC (rev 3321) @@ -12,7 +12,7 @@ public class TestFrontend { static String[] GRAMMAR_FILES = {"src/main/resources/lexicon/english.lex"}; - static boolean BASIC_MODE = true; // true for BASIC mode, false for LEIPZIG mode + static boolean BASIC_MODE = false; // true for BASIC mode, false for LEIPZIG mode public static void main(String[] args) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |