From: <ku...@us...> - 2008-07-31 16:14:50
|
Revision: 1036 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=1036&view=rev Author: kurzum Date: 2008-07-31 16:14:45 +0000 (Thu, 31 Jul 2008) Log Message: ----------- small improvements Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java trunk/src/dl-learner/org/dllearner/kb/extraction/PropertyNode.java Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java 2008-07-31 16:13:14 UTC (rev 1035) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/ClassNode.java 2008-07-31 16:14:45 UTC (rev 1036) @@ -23,6 +23,8 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import java.util.Vector; import org.dllearner.utilities.datastructures.StringTuple; @@ -94,8 +96,8 @@ * @see org.dllearner.kb.sparql.datastructure.Node#toNTriple() */ @Override - public Set<String> toNTriple() { - Set<String> s = new HashSet<String>(); + public SortedSet<String> toNTriple() { + SortedSet<String> s = new TreeSet<String>(); s.add("<" + this.uri + "><" + rdftype + "><" + classns + ">."); for (PropertyNode one : properties) { Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java 2008-07-31 16:13:14 UTC (rev 1035) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/InstanceNode.java 2008-07-31 16:14:45 UTC (rev 1036) @@ -23,6 +23,8 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import java.util.Vector; import org.dllearner.utilities.datastructures.StringTuple; @@ -94,8 +96,8 @@ } @Override - public Set<String> toNTriple() { - Set<String> s = new HashSet<String>(); + public SortedSet<String> toNTriple() { + SortedSet<String> s = new TreeSet<String>(); s.add("<" + uri + "><" + rdftype + "><" + thing + ">."); for (ClassNode one : classes) { s.add("<" + uri + "><" + rdftype + "><" + one.getURI() + ">."); Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java 2008-07-31 16:13:14 UTC (rev 1035) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java 2008-07-31 16:14:45 UTC (rev 1036) @@ -66,7 +66,7 @@ System.out.println("Start extracting"); Node n = extractionAlgorithm.expandNode(uri, typedSparqlQuery); - Set<String> s = n.toNTriple(); + SortedSet<String> s = n.toNTriple(); String nt = ""; for (String str : s) { nt += str + "\n"; Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java 2008-07-31 16:13:14 UTC (rev 1035) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Node.java 2008-07-31 16:14:45 UTC (rev 1036) @@ -20,7 +20,7 @@ package org.dllearner.kb.extraction; import java.net.URI; -import java.util.Set; +import java.util.SortedSet; import java.util.Vector; @@ -72,7 +72,7 @@ * * @return a set of n-triple */ - public abstract Set<String> toNTriple(); + public abstract SortedSet<String> toNTriple(); @Override public String toString() { Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/PropertyNode.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/PropertyNode.java 2008-07-31 16:13:14 UTC (rev 1035) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/PropertyNode.java 2008-07-31 16:14:45 UTC (rev 1036) @@ -23,6 +23,8 @@ import java.util.HashSet; import java.util.Iterator; import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; import java.util.Vector; import org.dllearner.utilities.datastructures.StringTuple; @@ -88,8 +90,8 @@ } @Override - public Set<String> toNTriple() { - Set<String> s = new HashSet<String>(); + public SortedSet<String> toNTriple() { + SortedSet<String> s = new TreeSet<String>(); s.add("<" + uri + "><" + "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" + "><" + "http://www.w3.org/2002/07/owl#ObjectProperty" + ">."); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <ku...@us...> - 2010-02-11 13:21:50
|
Revision: 2014 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=2014&view=rev Author: kurzum Date: 2010-02-11 13:21:43 +0000 (Thu, 11 Feb 2010) Log Message: ----------- stop method for SPARQL component Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/kb/extraction/ExtractionAlgorithm.java trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/ExtractionAlgorithm.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/ExtractionAlgorithm.java 2010-02-11 11:20:31 UTC (rev 2013) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/ExtractionAlgorithm.java 2010-02-11 13:21:43 UTC (rev 2014) @@ -41,6 +41,7 @@ private Configuration configuration; private SortedSet<String> alreadyQueriedSuperClasses = new TreeSet<String>(); + private boolean stop = false; private static Logger logger = Logger @@ -50,11 +51,25 @@ this.configuration = configuration; } - public Node getFirstNode(String uri) { + + public void stop(){ + stop=true; + } + + private boolean stopCondition(){ + return stop; + } + + void reset(){ + stop = false; + } + + private Node getFirstNode(String uri) { return new InstanceNode(uri); } - public List<Node> expandAll(String[] uris, TupleAquisitor tupelAquisitor) { + @SuppressWarnings("unused") + private List<Node> expandAll(String[] uris, TupleAquisitor tupelAquisitor) { List<Node> nodeList = new ArrayList<Node>(); for (String oneURI : uris) { nodeList.add(expandNode(oneURI, tupelAquisitor)); @@ -91,9 +106,10 @@ for (int x = 1; x <= configuration.getRecursiondepth(); x++) { sc.reset(); - while (!newNodes.isEmpty()) { + while (!newNodes.isEmpty() && !stopCondition()) { Node nextNode = newNodes.remove(0); logger.info("Expanding " + nextNode); + // these are the new not expanded nodes // the others are saved in connection with the original node tupleAquisitor.setNextTaskToNormal(); @@ -111,7 +127,7 @@ } basic.stop(); - if(configuration.isCloseAfterRecursion()){ + if(configuration.isCloseAfterRecursion()&& !stopCondition()){ Monitor m = JamonMonitorLogger.getTimeMonitor(ExtractionAlgorithm.class, "TimeCloseAfterRecursion").start(); List<InstanceNode> l = getInstanceNodes(newNodes); logger.info("Getting classes for remaining instances: "+l.size() + " instances"); @@ -120,7 +136,7 @@ m.stop(); } // gets All Class Nodes and expands them further - if (configuration.isGetAllSuperClasses()) { + if (configuration.isGetAllSuperClasses()&& !stopCondition()) { Monitor m = JamonMonitorLogger.getTimeMonitor(ExtractionAlgorithm.class, "TimeGetAllSuperClasses").start(); List<ClassNode> allClassNodes = getClassNodes(collectNodes); tupleAquisitor.setNextTaskToClassInformation(); @@ -130,24 +146,30 @@ } - if(configuration.isGetPropertyInformation() ){ + if(configuration.isGetPropertyInformation()&& !stopCondition() ){ collectNodes.add(seedNode); Monitor m = JamonMonitorLogger.getTimeMonitor(ExtractionAlgorithm.class, "TimeGetPropertyInformation").start(); List<ObjectPropertyNode> objectProperties = getObjectPropertyNodes(collectNodes); logger.info("Get info for "+objectProperties.size() + " objectProperties"); for (ObjectPropertyNode node : objectProperties) { + if(stopCondition()){ + break; + } collectNodes.addAll(node.expandProperties(tupleAquisitor, configuration.getManipulator())); } List<DatatypePropertyNode> datatypeProperties = getDatatypeProperties(collectNodes); logger.info("Get info for "+datatypeProperties.size() + " datatypeProperties"); for (DatatypePropertyNode node : datatypeProperties) { + if(stopCondition()){ + break; + } collectNodes.addAll(node.expandProperties(tupleAquisitor, configuration.getManipulator())); } m.stop(); } Monitor m = JamonMonitorLogger.getTimeMonitor(ExtractionAlgorithm.class, "TimeBlankNode").start(); - if( configuration.isDissolveBlankNodes()){ + if( configuration.isDissolveBlankNodes()&& !stopCondition()){ expandBlankNodes(getBlankNodes(collectNodes),tupleAquisitor); } m.stop(); @@ -159,7 +181,7 @@ private List<Node> expandBlankNodes(List<BlankNode> blankNodes, TupleAquisitor tupelAquisitor) { List<Node> newNodes = new ArrayList<Node>(); - while (!blankNodes.isEmpty()) { + while (!blankNodes.isEmpty()&& !stopCondition()) { Node next = blankNodes.remove(0); List<Node> l = next.expand(tupelAquisitor, configuration.getManipulator()); for (Node node : l) { @@ -175,7 +197,7 @@ List<Node> newNodes = new ArrayList<Node>(); tupelAquisitor.setNextTaskToClassesForInstances(); - while (!instanceNodes.isEmpty()) { + while (!instanceNodes.isEmpty() && !stopCondition()) { logger.trace("Getting classes for remaining instances: " + instanceNodes.size()); Node next = instanceNodes.remove(0); @@ -202,7 +224,7 @@ int i = 0; - while (!newClasses.isEmpty() ) { + while (!newClasses.isEmpty() && !stopCondition()) { logger.trace("Remaining classes: " + newClasses.size()); Node next = newClasses.remove(0); @@ -233,7 +255,7 @@ } - public static List<ClassNode> getClassNodes(List<Node> l ){ + private static List<ClassNode> getClassNodes(List<Node> l ){ List<ClassNode> retList = new ArrayList<ClassNode>(); for (Node node : l) { if (node instanceof ClassNode) { @@ -246,7 +268,7 @@ } - public static List<InstanceNode> getInstanceNodes(List<Node> l ){ + private static List<InstanceNode> getInstanceNodes(List<Node> l ){ List<InstanceNode> retList = new ArrayList<InstanceNode>(); for (Node node : l) { if (node instanceof InstanceNode) { @@ -258,7 +280,7 @@ return retList; } - public static List<BlankNode> getBlankNodes(List<Node> l ){ + private static List<BlankNode> getBlankNodes(List<Node> l ){ List<BlankNode> retList = new ArrayList<BlankNode>(); for (Node node : l) { if (node instanceof BlankNode) { @@ -270,7 +292,7 @@ return retList; } - public static List<ObjectPropertyNode> getObjectPropertyNodes(List<Node> l ){ + private static List<ObjectPropertyNode> getObjectPropertyNodes(List<Node> l ){ List<ObjectPropertyNode> properties = new ArrayList<ObjectPropertyNode>(); for (Node node : l) { if (node instanceof InstanceNode) { @@ -282,7 +304,7 @@ return properties; } - public static List<DatatypePropertyNode> getDatatypeProperties(List<Node> l ){ + private static List<DatatypePropertyNode> getDatatypeProperties(List<Node> l ){ List<DatatypePropertyNode> properties = new ArrayList<DatatypePropertyNode>(); for (Node node : l) { if (node instanceof InstanceNode) { Modified: trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java =================================================================== --- trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java 2010-02-11 11:20:31 UTC (rev 2013) +++ trunk/src/dl-learner/org/dllearner/kb/extraction/Manager.java 2010-02-11 13:21:43 UTC (rev 2014) @@ -47,6 +47,7 @@ private ExtractionAlgorithm extractionAlgorithm; private int nrOfExtractedTriples = 0; private List<Node> seedNodes = new ArrayList<Node>(); + private boolean stop = false; private ProgressMonitor mon; @@ -59,16 +60,34 @@ this.extractionAlgorithm = new ExtractionAlgorithm(configuration); } - public Node extractOneURI(String uri) { - - //logger.info("Start extracting: "+uri); - Node n = extractionAlgorithm.expandNode(uri, configuration.getTupelAquisitor()); - //logger.info("Finished extracting: "+uri ); - seedNodes.add(n); - return n; +// public Node extractOneURI(String uri) { +// +// //logger.info("Start extracting: "+uri); +// Node n = extractionAlgorithm.expandNode(uri, configuration.getTupelAquisitor()); +// //logger.info("Finished extracting: "+uri ); +// seedNodes.add(n); +// return n; +// } + + /** + * Stops the algorithm... + * meaning only the remaining sparql queries will not be processed anymore + */ + public void stop(){ + stop = true; + extractionAlgorithm.stop(); } + private boolean stopCondition(){ + return stop; + } + private void reset(){ + stop = false; + extractionAlgorithm.reset(); + } + + public List<Node> extract(Set<String> instances) { List<Node> allExtractedNodes = new ArrayList<Node>(); @@ -84,6 +103,10 @@ mon.setProgress(progress); } logger.info("Progress: "+progress+" of "+instances.size()+" finished: "+one); + if(stopCondition()){ + break; + } + try { Node n = extractionAlgorithm.expandNode(one, configuration.getTupelAquisitor()); seedNodes.add(n); @@ -96,6 +119,7 @@ } //((SparqlTupleAquisitor) configuration.getTupelAquisitor()).printHM(); //System.exit(0); + reset(); logger.info("Finished extraction"); return allExtractedNodes; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |