From: <sk...@us...> - 2008-07-06 16:15:27
|
Revision: 1001 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1001&view=rev Author: sknappe Date: 2008-07-06 09:15:15 -0700 (Sun, 06 Jul 2008) Log Message: ----------- Added a way to find a class for a certain city Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorManipulator.java trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java trunk/src/dl-learner/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorCityLocator.java Added: trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorCityLocator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorCityLocator.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorCityLocator.java 2008-07-06 16:15:15 UTC (rev 1001) @@ -0,0 +1,58 @@ +package org.dllearner.kb.extraction; + +import java.util.HashMap; +import java.util.HashSet; +import java.util.Set; + +import org.dllearner.utilities.datastructures.StringTuple; + +public class DBpediaNavigatorCityLocator { + + public static String getTypeToCoordinates(float lat, float lng){ + if (lat<71.08&&lat>33.39&&lng>-24.01&&lng<50.8){ + if (lat>50&&lat<52&&lng>12&&lng<13){ + return "http://dbpedia.org/class/custom/City_in_Saxony"; + } + else return "http://dbpedia.org/class/custom/City_in_Europe"; + } + else if (lng>-17.5&&lng<52.04&&lat>-36&&lat<36.6){ + if (lat>21.45&&lat<31.51&&lng>24.7&&lng<37.26){ + return "http://dbpedia.org/class/custom/City_in_Egypt"; + } + else return "http://dbpedia.org/class/custom/City_in_Africa"; + } + else if (((lng>27.4&&lng<180)||(lng<-168.75))&&lat>-11.2){ + return "http://dbpedia.org/class/custom/City_in_Asia"; + } + else if (lng>113.9&&lng<179.65&&lat<-10.8&&lat>-47.04){ + return "http://dbpedia.org/class/custom/City_in_Australia"; + } + else if (lng>-168.4&&lng<-19.7&&lat>6.6){ + return "http://dbpedia.org/class/custom/City_in_North_America"; + } + else if (lng>-81.56&&lng<-34.1&&lat<6.6){ + return "http://dbpedia.org/class/custom/City_in_South_America"; + } + else return "http://dbpedia.org/class/custom/City_in_World"; + } + + public static Set<StringTuple> getTuplesToAdd(String uri){ + String subClass="http://www.w3.org/2000/01/rdf-schema#subClassOf"; + + HashMap<String,String> map=new HashMap<String,String>(); + map.put("http://dbpedia.org/class/custom/City_in_Saxony", "http://dbpedia.org/class/custom/City_in_Europe"); + map.put("http://dbpedia.org/class/custom/City_in_Egypt", "http://dbpedia.org/class/custom/City_in_Africa"); + map.put("http://dbpedia.org/class/custom/City_in_Europe", "http://dbpedia.org/class/yago/City108524735"); + map.put("http://dbpedia.org/class/custom/City_in_Asia", "http://dbpedia.org/class/yago/City108524735"); + map.put("http://dbpedia.org/class/custom/City_in_Australia", "http://dbpedia.org/class/yago/City108524735"); + map.put("http://dbpedia.org/class/custom/City_in_North_America", "http://dbpedia.org/class/yago/City108524735"); + map.put("http://dbpedia.org/class/custom/City_in_South_America", "http://dbpedia.org/class/yago/City108524735"); + map.put("http://dbpedia.org/class/custom/City_in_Africa", "http://dbpedia.org/class/yago/City108524735"); + map.put("http://dbpedia.org/class/custom/City_in_World", "http://dbpedia.org/class/yago/City108524735"); + Set<StringTuple> toAdd = new HashSet<StringTuple>(); + if (map.containsKey(uri)){ + toAdd.add(new StringTuple(subClass,map.get(uri))); + } + return toAdd; + } +} Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorManipulator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorManipulator.java 2008-07-06 12:34:38 UTC (rev 1000) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/DBpediaNavigatorManipulator.java 2008-07-06 16:15:15 UTC (rev 1001) @@ -19,7 +19,6 @@ */ package org.dllearner.kb.extraction; -import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.Set; @@ -69,14 +68,13 @@ * @return */ public Set<StringTuple> check(Set<StringTuple> tuples, Node node) { - Set<StringTuple> toRemove = new HashSet<StringTuple>(); + //Set<StringTuple> toRemove = new HashSet<StringTuple>(); Iterator<StringTuple> it = tuples.iterator(); float lat=0; float lng=0; String clas=""; StringTuple typeTupel=null; - if (node.uri.toString().equals("http://dbpedia.org/class/custom/City_in_Saxony")) - tuples.add(new StringTuple("http://www.w3.org/2000/01/rdf-schema#subClassOf","http://dbpedia.org/class/yago/City108524735")); + tuples.addAll(DBpediaNavigatorCityLocator.getTuplesToAdd(node.uri.toString())); while (it.hasNext()) { StringTuple t = (StringTuple) it.next(); @@ -114,17 +112,16 @@ } if (clas.equals("http://dbpedia.org/class/yago/City108524735")){ - if (lat>50&&lat<52&&lng>12&&lng<13){ - tuples.add(new StringTuple("http://www.w3.org/1999/02/22-rdf-syntax-ns#type","http://dbpedia.org/class/custom/City_in_Saxony")); - tuples.remove(typeTupel); - } + String newType=DBpediaNavigatorCityLocator.getTypeToCoordinates(lat, lng); + tuples.add(new StringTuple("http://www.w3.org/1999/02/22-rdf-syntax-ns#type",newType)); + tuples.remove(typeTupel); } //tuples.removeAll(toRemove); return tuples; } - private void replacePredicate(StringTuple t) { + /*private void replacePredicate(StringTuple t) { for (StringTuple rep : replacePredicate) { if (rep.a.equals(t.a)) { t.a = rep.b; @@ -138,5 +135,5 @@ t.a = rep.b; } } - } + }*/ } Modified: trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java =================================================================== --- trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-07-06 12:34:38 UTC (rev 1000) +++ trunk/src/dl-learner/org/dllearner/server/DLLearnerWS.java 2008-07-06 16:15:15 UTC (rev 1001) @@ -59,7 +59,6 @@ import org.dllearner.kb.OWLFile; import org.dllearner.kb.sparql.Cache; import org.dllearner.kb.sparql.SPARQLTasks; -import org.dllearner.kb.sparql.SparqlEndpoint; import org.dllearner.kb.sparql.SparqlKnowledgeSource; import org.dllearner.kb.sparql.SparqlQuery; import org.dllearner.kb.sparql.SparqlQueryDescriptionConvertVisitor; @@ -676,7 +675,7 @@ SPARQLTasks task=ks.getSparqlTask(); AutomaticNegativeExampleFinderSPARQL finder=new AutomaticNegativeExampleFinderSPARQL(set,task); //finder.makeNegativeExamplesFromRelatedInstances(set, namespace); - finder.makeNegativeExamplesFromParallelClasses(set, 5); + finder.makeNegativeExamplesFromParallelClasses(set, 25); SortedSet<String> negExamples=finder.getNegativeExamples(results); return negExamples.toArray(new String[negExamples.size()]); Modified: trunk/src/dl-learner/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java =================================================================== --- trunk/src/dl-learner/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java 2008-07-06 12:34:38 UTC (rev 1000) +++ trunk/src/dl-learner/org/dllearner/utilities/examples/AutomaticNegativeExampleFinderSPARQL.java 2008-07-06 16:15:15 UTC (rev 1001) @@ -1,14 +1,11 @@ package org.dllearner.utilities.examples; -import java.util.Iterator; import java.util.SortedSet; import java.util.TreeSet; import org.apache.log4j.Logger; import org.dllearner.core.ComponentManager; -import org.dllearner.kb.sparql.Cache; import org.dllearner.kb.sparql.SPARQLTasks; -import org.dllearner.kb.sparql.SparqlEndpoint; import org.dllearner.utilities.datastructures.SetManipulation; public class AutomaticNegativeExampleFinderSPARQL { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |