From: <ku...@us...> - 2008-08-20 17:01:33
|
Revision: 1112 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1112&view=rev Author: kurzum Date: 2008-08-20 17:01:28 +0000 (Wed, 20 Aug 2008) Log Message: ----------- some improvements still buggy Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/manipulator/Manipulator.java trunk/src/dl-learner/org/dllearner/kb/manipulator/TypeFilterRule.java trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java trunk/src/dl-learner/org/dllearner/test/SparqlExtractionTest.java Added Paths: ----------- trunk/src/dl-learner/org/dllearner/kb/manipulator/ObjectReplacementRule.java trunk/src/dl-learner/org/dllearner/kb/manipulator/PredicateReplacementRule.java Modified: trunk/src/dl-learner/org/dllearner/kb/manipulator/Manipulator.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/manipulator/Manipulator.java 2008-08-20 16:29:59 UTC (rev 1111) +++ trunk/src/dl-learner/org/dllearner/kb/manipulator/Manipulator.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -40,6 +40,7 @@ */ public class Manipulator { + @SuppressWarnings("unused") private static Logger logger = Logger.getLogger(Manipulator.class); private List<Rule> rules = new ArrayList<Rule>(); @@ -70,11 +71,13 @@ public static Manipulator getManipulatorByName(String predefinedManipulator) - { - if (predefinedManipulator.equalsIgnoreCase("DBPEDIA-NAVIGATOR")) { + { if (predefinedManipulator == null) { + return getDefaultManipulator(); + }else if (predefinedManipulator.equalsIgnoreCase("DBPEDIA-NAVIGATOR")) { return getDBpediaNavigatorManipulator(); - } else if(predefinedManipulator.equalsIgnoreCase("DEFAULT")){ + } else if(predefinedManipulator.equalsIgnoreCase("DEFAULT") + ||predefinedManipulator.equalsIgnoreCase("STANDARD")){ return getDefaultManipulator(); } else { @@ -121,6 +124,7 @@ addRule(new TypeFilterRule(month, OWLVocabulary.RDF_TYPE, OWLVocabulary.OWL_CLASS,ClassNode.class )) ; addRule(new TypeFilterRule(month, OWLVocabulary.RDF_TYPE, OWLVocabulary.OWL_THING,InstanceNode.class )) ; addRule(new TypeFilterRule(month, "", OWLVocabulary.OWL_CLASS, ClassNode.class) ) ; + addRule(new TypeFilterRule(month, "", OWLVocabulary.RDFS_CLASS, ClassNode.class) ) ; } Added: trunk/src/dl-learner/org/dllearner/kb/manipulator/ObjectReplacementRule.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/manipulator/ObjectReplacementRule.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/manipulator/ObjectReplacementRule.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -0,0 +1,60 @@ +/** + * Copyright (C) 2007-2008, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.kb.manipulator; + +import java.util.SortedSet; +import java.util.TreeSet; + +import org.dllearner.kb.extraction.Node; +import org.dllearner.utilities.JamonMonitorLogger; +import org.dllearner.utilities.datastructures.RDFNodeTuple; + +import com.hp.hpl.jena.rdf.model.impl.ResourceImpl; + +public class ObjectReplacementRule extends Rule{ + + String oldObject; + String newObject; + + + public ObjectReplacementRule(Months month, String oldObject, String newObject) { + super(month); + this.oldObject = oldObject; + this.newObject = newObject; + } + + + @Override + public SortedSet<RDFNodeTuple> applyRule(Node subject, SortedSet<RDFNodeTuple> tuples){ + SortedSet<RDFNodeTuple> keep = new TreeSet<RDFNodeTuple>(); + for (RDFNodeTuple tuple : tuples) { + if(tuple.aPartContains(oldObject)){ + tuple.a = new ResourceImpl(newObject); + JamonMonitorLogger.increaseCount(ObjectReplacementRule.class, "replacedObjects"); + } + keep.add(tuple); + } + return keep; + } + + + + +} Added: trunk/src/dl-learner/org/dllearner/kb/manipulator/PredicateReplacementRule.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/manipulator/PredicateReplacementRule.java (rev 0) +++ trunk/src/dl-learner/org/dllearner/kb/manipulator/PredicateReplacementRule.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -0,0 +1,60 @@ +/** + * Copyright (C) 2007-2008, Jens Lehmann + * + * This file is part of DL-Learner. + * + * DL-Learner is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * DL-Learner is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ +package org.dllearner.kb.manipulator; + +import java.util.SortedSet; +import java.util.TreeSet; + +import org.dllearner.kb.extraction.Node; +import org.dllearner.utilities.JamonMonitorLogger; +import org.dllearner.utilities.datastructures.RDFNodeTuple; + +import com.hp.hpl.jena.rdf.model.impl.ResourceImpl; + +public class PredicateReplacementRule extends Rule{ + + String oldPredicate; + String newPredicate; + + + public PredicateReplacementRule(Months month, String oldPredicate, String newPredicate) { + super(month); + this.oldPredicate = oldPredicate; + this.newPredicate = newPredicate; + } + + + @Override + public SortedSet<RDFNodeTuple> applyRule(Node subject, SortedSet<RDFNodeTuple> tuples){ + SortedSet<RDFNodeTuple> keep = new TreeSet<RDFNodeTuple>(); + for (RDFNodeTuple tuple : tuples) { + if(tuple.aPartContains(oldPredicate)){ + tuple.a = new ResourceImpl(newPredicate); + JamonMonitorLogger.increaseCount(PredicateReplacementRule.class, "replacedPredicates"); + } + keep.add(tuple); + } + return keep; + } + + + + +} Modified: trunk/src/dl-learner/org/dllearner/kb/manipulator/TypeFilterRule.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/manipulator/TypeFilterRule.java 2008-08-20 16:29:59 UTC (rev 1111) +++ trunk/src/dl-learner/org/dllearner/kb/manipulator/TypeFilterRule.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -60,7 +60,7 @@ if(!remove){ keep.add(tuple); }else{ - JamonMonitorLogger.increaseCount(TypeFilterRule.class, "filteredTriples"); + JamonMonitorLogger.increaseCount(TypeFilterRule.class, "filteredTriples"); } } Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-08-20 16:29:59 UTC (rev 1111) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/Cache.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -261,8 +261,9 @@ query.setRunning(false); SparqlQuery.writeToSparqlLog("***********\nJSON retrieved from cache"); + SparqlQuery.writeToSparqlLog("wget -S -O - '\n"+query.getSparqlEndpoint().getHTTPRequest()); SparqlQuery.writeToSparqlLog(query.getSparqlQueryString()); - SparqlQuery.writeToSparqlLog(query.getSparqlEndpoint().getURL().toString()); + //SparqlQuery.writeToSparqlLog("JSON: "+result); JamonMonitorLogger.increaseCount(Cache.class, "SuccessfulHits"); @@ -280,7 +281,7 @@ json=""; result=""; logger.warn(Cache.class.getSimpleName()+"empty result: "+query.getSparqlQueryString()); - SparqlQuery.writeToSparqlLog("empty result for : "+query.getSparqlQueryString()); + } //return json; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java 2008-08-20 16:29:59 UTC (rev 1111) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlEndpoint.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -52,6 +52,13 @@ public URL getURL() { return this.url; } + + public String getHTTPRequest() { + String ret = this.url.toString()+"/sparql?"; + ret += (defaultGraphURIs.isEmpty())?"":"default-graph-uri="+defaultGraphURIs.remove(0)+"&"; + ret += "query="; + return ret; + } public List<String> getDefaultGraphURIs() { return defaultGraphURIs; Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-08-20 16:29:59 UTC (rev 1111) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlKnowledgeSource.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -51,6 +51,9 @@ import org.dllearner.kb.extraction.Configuration; import org.dllearner.kb.extraction.Manager; import org.dllearner.kb.manipulator.Manipulator; +import org.dllearner.kb.manipulator.ObjectReplacementRule; +import org.dllearner.kb.manipulator.PredicateReplacementRule; +import org.dllearner.kb.manipulator.Rule.Months; import org.dllearner.parser.KBParser; import org.dllearner.reasoning.DIGConverter; import org.dllearner.reasoning.JenaOWLDIGConverter; @@ -78,7 +81,7 @@ private int recursionDepth = recursionDepthDefault; private String predefinedFilter = null; private String predefinedEndpoint = null; - private String predefinedManipulator = "STANDARD"; + private String predefinedManipulator = null; private SortedSet<String> predList = new TreeSet<String>(); private SortedSet<String> objList = new TreeSet<String>(); // private Set<String> classList; @@ -279,7 +282,7 @@ Manager m = new Manager(); // get Options for Manipulator - Manipulator manipulator = Manipulator.getManipulatorByName(predefinedManipulator); + Manipulator manipulator = getManipulator(); //manipulator.addRule(newRule); Configuration configuration = new Configuration( getTupelAquisitor(), @@ -407,7 +410,26 @@ } + public Manipulator getManipulator() + { + // get Options for Filters + if (predefinedManipulator == null) { + return Manipulator.getManipulatorByName(predefinedManipulator); + + } else { + Manipulator m = Manipulator.getDefaultManipulator(); + for (StringTuple st : replacePredicate) { + m.addRule(new PredicateReplacementRule(Months.MAY, st.a,st.b)); + } + for (StringTuple st : replaceObject) { + m.addRule(new ObjectReplacementRule(Months.MAY, st.a,st.b)); + } + return m; + } + + } + public TupelAquisitor getTupelAquisitor() { return new SparqlTupelAquisitor(getSparqlQueryMaker(), getSPARQLTasks()); Modified: trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-08-20 16:29:59 UTC (rev 1111) +++ trunk/src/dl-learner/org/dllearner/kb/sparql/SparqlQuery.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -88,8 +88,9 @@ String service = sparqlEndpoint.getURL().toString(); writeToSparqlLog("***********\nNew Query:"); + SparqlQuery.writeToSparqlLog("wget -S -O - '\n"+sparqlEndpoint.getHTTPRequest()); writeToSparqlLog(sparqlQueryString); - writeToSparqlLog(service); + logger.trace("making queryExecution Object"); @@ -127,15 +128,12 @@ logger.warn("Exception in SparqlQuery\n"+ e.toString()); logger.warn("query was "+ sparqlQueryString); writeToSparqlLog("ERROR: HTTPException occured"+ e.toString()); - writeToSparqlLog("ERROR: query was: "+sparqlQueryString); throw e; }catch (RuntimeException e) { //if (!(e instanceof HTTPException)) { logger.warn("RuntimeException in SparqlQuery"+ e.toString()); writeToSparqlLog("ERROR: HTTPException occured"+ e.toString()); - writeToSparqlLog("ERROR: query was: "+sparqlQueryString); - writeToSparqlLog("wget -S -O test.txt '"+service+"?query="+sparqlQueryString+"'"); //} throw e; } Modified: trunk/src/dl-learner/org/dllearner/test/SparqlExtractionTest.java =================================================================== --- trunk/src/dl-learner/org/dllearner/test/SparqlExtractionTest.java 2008-08-20 16:29:59 UTC (rev 1111) +++ trunk/src/dl-learner/org/dllearner/test/SparqlExtractionTest.java 2008-08-20 17:01:28 UTC (rev 1112) @@ -35,7 +35,6 @@ import org.dllearner.kb.sparql.SparqlQueryMaker; import org.dllearner.scripts.NT2RDF; import org.dllearner.utilities.JamonMonitorLogger; -import org.dllearner.utilities.statistics.SimpleClock; /** * Test class, uses the whole thing This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |