From: <jen...@us...> - 2008-02-27 10:21:26
|
Revision: 646 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=646&view=rev Author: jenslehmann Date: 2008-02-27 02:21:24 -0800 (Wed, 27 Feb 2008) Log Message: ----------- - added methods (in ReasonerComponent) for getting namespaces of underlying knowledge sources - use toString(baseURI,prefixes) to get a string representation of axioms/concepts using those prefixes Modified Paths: -------------- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java trunk/src/dl-learner/org/dllearner/core/Reasoner.java trunk/src/dl-learner/org/dllearner/reasoning/DIGReasoner.java trunk/src/dl-learner/org/dllearner/reasoning/FastInstanceChecker.java trunk/src/dl-learner/org/dllearner/reasoning/FastRetrievalReasoner.java trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java Modified: trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-02-27 09:49:18 UTC (rev 645) +++ trunk/src/dl-learner/org/dllearner/algorithms/refexamples/ExampleBasedROLearner.java 2008-02-27 10:21:24 UTC (rev 646) @@ -236,10 +236,18 @@ int loop = 0; algorithmStartTime = System.nanoTime(); + long lastPrintTime = 0; + long currentTime; while(!solutionFound && !stop) { - printStatistics(false); + // print statistics at most once a second + currentTime = System.nanoTime(); + if(currentTime - lastPrintTime > 1000000000) { + printStatistics(false); + lastPrintTime = currentTime; + logger.debug("--- loop " + loop + " started ---"); + } // chose best node according to heuristics bestNode = candidates.last(); @@ -275,7 +283,7 @@ // Anzahl Schleifendurchläufe loop++; - logger.debug("--- loop " + loop + " finished ---"); + } Modified: trunk/src/dl-learner/org/dllearner/core/Reasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/core/Reasoner.java 2008-02-27 09:49:18 UTC (rev 645) +++ trunk/src/dl-learner/org/dllearner/core/Reasoner.java 2008-02-27 10:21:24 UTC (rev 646) @@ -92,10 +92,10 @@ public Set<ObjectProperty> getAtomicRoles(); -// public String getBaseURI; -// -// public Map<String, String> getPrefixes(); + public String getBaseURI(); + public Map<String, String> getPrefixes(); + // currently, we do not require that datatype properties can be returned; // the main reason is that DIG does not distinguish between datatype and // object properties (of course one could implement it but it is not easy) Modified: trunk/src/dl-learner/org/dllearner/reasoning/DIGReasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/DIGReasoner.java 2008-02-27 09:49:18 UTC (rev 645) +++ trunk/src/dl-learner/org/dllearner/reasoning/DIGReasoner.java 2008-02-27 10:21:24 UTC (rev 646) @@ -779,4 +779,18 @@ return reasonerURL; } + /* (non-Javadoc) + * @see org.dllearner.core.Reasoner#getBaseURI() + */ + public String getBaseURI() { + return null; + } + + /* (non-Javadoc) + * @see org.dllearner.core.Reasoner#getPrefixes() + */ + public Map<String, String> getPrefixes() { + return null; + } + } Modified: trunk/src/dl-learner/org/dllearner/reasoning/FastInstanceChecker.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/FastInstanceChecker.java 2008-02-27 09:49:18 UTC (rev 645) +++ trunk/src/dl-learner/org/dllearner/reasoning/FastInstanceChecker.java 2008-02-27 10:21:24 UTC (rev 646) @@ -394,4 +394,18 @@ System.out.println(reasoner.instanceCheck(d, i)); } + /* (non-Javadoc) + * @see org.dllearner.core.Reasoner#getBaseURI() + */ + public String getBaseURI() { + return rc.getBaseURI(); + } + + /* (non-Javadoc) + * @see org.dllearner.core.Reasoner#getPrefixes() + */ + public Map<String, String> getPrefixes() { + return rc.getPrefixes(); + } + } Modified: trunk/src/dl-learner/org/dllearner/reasoning/FastRetrievalReasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/FastRetrievalReasoner.java 2008-02-27 09:49:18 UTC (rev 645) +++ trunk/src/dl-learner/org/dllearner/reasoning/FastRetrievalReasoner.java 2008-02-27 10:21:24 UTC (rev 646) @@ -1,5 +1,6 @@ package org.dllearner.reasoning; +import java.util.Map; import java.util.Set; import java.util.HashSet; import java.util.SortedSet; @@ -168,4 +169,18 @@ // TODO Auto-generated method stub } + + /* (non-Javadoc) + * @see org.dllearner.core.Reasoner#getBaseURI() + */ + public String getBaseURI() { + return rc.getBaseURI(); + } + + /* (non-Javadoc) + * @see org.dllearner.core.Reasoner#getPrefixes() + */ + public Map<String, String> getPrefixes() { + return rc.getPrefixes(); + } } Modified: trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java =================================================================== --- trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-02-27 09:49:18 UTC (rev 645) +++ trunk/src/dl-learner/org/dllearner/reasoning/OWLAPIReasoner.java 2008-02-27 10:21:24 UTC (rev 646) @@ -93,12 +93,14 @@ import org.semanticweb.owl.model.OWLOntology; import org.semanticweb.owl.model.OWLOntologyChangeException; import org.semanticweb.owl.model.OWLOntologyCreationException; +import org.semanticweb.owl.model.OWLOntologyFormat; import org.semanticweb.owl.model.OWLOntologyManager; import org.semanticweb.owl.model.OWLOntologyStorageException; import org.semanticweb.owl.model.OWLTypedConstant; import org.semanticweb.owl.model.OWLUntypedConstant; import org.semanticweb.owl.model.UnknownOWLOntologyException; import org.semanticweb.owl.util.SimpleURIMapper; +import org.semanticweb.owl.vocab.NamespaceOWLOntologyFormat; /** * Mapping to OWL API reasoner interface. The OWL API currently @@ -138,6 +140,10 @@ Set<DatatypeProperty> intDatatypeProperties = new TreeSet<DatatypeProperty>(); SortedSet<Individual> individuals = new TreeSet<Individual>(); + // namespaces + private Map<String, String> prefixes = new TreeMap<String,String>(); + private String baseURI; + public OWLAPIReasoner(Set<KnowledgeSource> sources) { this.sources = sources; } @@ -198,6 +204,14 @@ owlObjectProperties.addAll(ontology.getReferencedObjectProperties()); owlDatatypeProperties.addAll(ontology.getReferencedDataProperties()); owlIndividuals.addAll(ontology.getReferencedIndividuals()); + + OWLOntologyFormat format = manager.getOntologyFormat(ontology); + if(format instanceof NamespaceOWLOntologyFormat) { + prefixes = ((NamespaceOWLOntologyFormat)format).getNamespacesByPrefixMap(); + prefixes.remove(""); + baseURI = prefixes.get(""); + } + } catch (OWLOntologyCreationException e) { e.printStackTrace(); } catch (URISyntaxException e) { @@ -268,8 +282,6 @@ factory = manager.getOWLDataFactory(); - - // try { // if(reasoner.isDefined(factory.getOWLIndividual(URI.create("http://example.com/father#female")))) // System.out.println("DEFINED."); @@ -858,4 +870,18 @@ return intDatatypeProperties; } + /* (non-Javadoc) + * @see org.dllearner.core.Reasoner#getBaseURI() + */ + public String getBaseURI() { + return baseURI; + } + + /* (non-Javadoc) + * @see org.dllearner.core.Reasoner#getPrefixes() + */ + public Map<String, String> getPrefixes() { + return prefixes; + } + } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |