From: <lor...@us...> - 2011-09-01 20:33:00
|
Revision: 3212 http://dl-learner.svn.sourceforge.net/dl-learner/?rev=3212&view=rev Author: lorenz_b Date: 2011-09-01 20:32:54 +0000 (Thu, 01 Sep 2011) Log Message: ----------- Removed unsued method. Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/SimpleSubclassLearner.java trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyDomainAxiomLearner.java trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubDataPropertyOfAxiomLearner.java trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SymmetricObjectPropertyAxiomLearner.java trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java trunk/components-core/src/main/java/org/dllearner/core/owl/EquivalentDatatypePropertiesAxiom.java trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/SimpleSubclassLearner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/SimpleSubclassLearner.java 2011-09-01 18:59:35 UTC (rev 3211) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/SimpleSubclassLearner.java 2011-09-01 20:32:54 UTC (rev 3212) @@ -214,10 +214,11 @@ return timeLimitExceeded || resultLimitExceeded; } + public static void main(String[] args) throws Exception{ - SimpleSubclassLearner l = new SimpleSubclassLearner(new SparqlEndpointKS(SparqlEndpoint.getEndpointDBpediaLiveOpenLink())); + SimpleSubclassLearner l = new SimpleSubclassLearner(new SparqlEndpointKS(SparqlEndpoint.getEndpointDBpediaLiveAKSW())); ConfigHelper.configure(l, "maxExecutionTimeInSeconds", 10); - l.setClassToDescribe(new NamedClass("http://dbpedia.org/ontology/Criminal")); + l.setClassToDescribe(new NamedClass("http://dbpedia.org/ontology/Mountain")); l.init(); l.start(); Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyDomainAxiomLearner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyDomainAxiomLearner.java 2011-09-01 18:59:35 UTC (rev 3211) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/ObjectPropertyDomainAxiomLearner.java 2011-09-01 20:32:54 UTC (rev 3212) @@ -172,7 +172,7 @@ public static void main(String[] args) throws Exception{ ObjectPropertyDomainAxiomLearner l = new ObjectPropertyDomainAxiomLearner(new SparqlEndpointKS(SparqlEndpoint.getEndpointDBpediaLiveAKSW())); - l.setPropertyToDescribe(new ObjectProperty("http://dbpedia.org/ontology/numberOfSuites")); + l.setPropertyToDescribe(new ObjectProperty("http://dbpedia.org/ontology/hometown")); l.setMaxExecutionTimeInSeconds(10); l.init(); l.start(); Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubDataPropertyOfAxiomLearner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubDataPropertyOfAxiomLearner.java 2011-09-01 18:59:35 UTC (rev 3211) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SubDataPropertyOfAxiomLearner.java 2011-09-01 20:32:54 UTC (rev 3212) @@ -116,8 +116,7 @@ qs.getLiteral("count").getInt(); repeat = true; } - close(); - System.out.println(repeat); + if(!result.isEmpty()){ currentlyBestAxioms = buildAxioms(result); offset += 1000; Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SymmetricObjectPropertyAxiomLearner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SymmetricObjectPropertyAxiomLearner.java 2011-09-01 18:59:35 UTC (rev 3211) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/properties/SymmetricObjectPropertyAxiomLearner.java 2011-09-01 20:32:54 UTC (rev 3212) @@ -138,7 +138,7 @@ public static void main(String[] args) throws Exception{ SymmetricObjectPropertyAxiomLearner l = new SymmetricObjectPropertyAxiomLearner(new SparqlEndpointKS(SparqlEndpoint.getEndpointDBpediaLiveAKSW())); - l.setPropertyToDescribe(new ObjectProperty("http://dbpedia.org/ontology/sisterStation")); + l.setPropertyToDescribe(new ObjectProperty("http://dbpedia.org/ontology/similar")); l.setMaxExecutionTimeInSeconds(10); l.init(); l.start(); Modified: trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java 2011-09-01 18:59:35 UTC (rev 3211) +++ trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java 2011-09-01 20:32:54 UTC (rev 3212) @@ -54,6 +54,8 @@ protected SparqlEndpointKS ks; protected SPARQLReasoner reasoner; + ExtendedQueryEngineHTTP queryExecution; + public int getMaxExecutionTimeInSeconds() { return maxExecutionTimeInSeconds; } @@ -116,7 +118,7 @@ protected ResultSet executeSelectQuery(String query) { logger.info("Sending query\n{} ...", query); - ExtendedQueryEngineHTTP queryExecution = new ExtendedQueryEngineHTTP(ks.getEndpoint().getURL().toString(), + queryExecution = new ExtendedQueryEngineHTTP(ks.getEndpoint().getURL().toString(), query); queryExecution.setTimeout(maxExecutionTimeInSeconds * 1000); queryExecution.setDefaultGraphURIs(ks.getEndpoint().getDefaultGraphURIs()); @@ -127,6 +129,10 @@ return resultSet; } + protected void close() { + queryExecution.close(); + } + protected boolean executeAskQuery(String query){ logger.info("Sending query\n{} ...", query); QueryEngineHTTP queryExecution = new QueryEngineHTTP(ks.getEndpoint().getURL().toString(), query); @@ -156,9 +162,12 @@ double[] confidenceInterval = Heuristics.getConfidenceInterval95Wald(total, success); double accuracy = (confidenceInterval[0] + confidenceInterval[1]) / 2; + double confidence = confidenceInterval[1] - confidenceInterval[0]; return new AxiomScore(accuracy, confidence); } + + } Modified: trunk/components-core/src/main/java/org/dllearner/core/owl/EquivalentDatatypePropertiesAxiom.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/owl/EquivalentDatatypePropertiesAxiom.java 2011-09-01 18:59:35 UTC (rev 3211) +++ trunk/components-core/src/main/java/org/dllearner/core/owl/EquivalentDatatypePropertiesAxiom.java 2011-09-01 20:32:54 UTC (rev 3212) @@ -48,11 +48,11 @@ } public String toString(String baseURI, Map<String,String> prefixes) { - return "EquivalentObjectProperties(" + equivRole.toString(baseURI, prefixes) + "," + role.toString(baseURI, prefixes) + ")"; + return "EquivalentDataProperties(" + equivRole.toString(baseURI, prefixes) + "," + role.toString(baseURI, prefixes) + ")"; } public String toKBSyntaxString(String baseURI, Map<String,String> prefixes) { - return "EquivalentObjectProperties(" + equivRole.toKBSyntaxString(baseURI, prefixes) + "," + role.toKBSyntaxString(baseURI, prefixes) + ")"; + return "EquivalentDataProperties(" + equivRole.toKBSyntaxString(baseURI, prefixes) + "," + role.toKBSyntaxString(baseURI, prefixes) + ")"; } @Override Modified: trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2011-09-01 18:59:35 UTC (rev 3211) +++ trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2011-09-01 20:32:54 UTC (rev 3212) @@ -31,15 +31,13 @@ import java.util.TreeSet; import org.aksw.commons.sparql.api.cache.core.QueryExecutionFactoryCache; -import org.aksw.commons.sparql.api.cache.extra.Cache; import org.aksw.commons.sparql.api.cache.extra.CacheCoreH2; import org.aksw.commons.sparql.api.cache.extra.CacheImpl; -import org.aksw.commons.sparql.api.cache.extra.CacheResource; import org.aksw.commons.sparql.api.core.QueryExecutionFactory; import org.aksw.commons.sparql.api.http.QueryExecutionFactoryHttp; import org.aksw.commons.sparql.api.pagination.core.QueryExecutionFactoryPaginated; +import org.aksw.commons.util.strings.StringUtils; import org.dllearner.core.IndividualReasoner; -import org.dllearner.core.ReasoningMethodUnsupportedException; import org.dllearner.core.SchemaReasoner; import org.dllearner.core.owl.ClassHierarchy; import org.dllearner.core.owl.Constant; @@ -55,17 +53,14 @@ import org.dllearner.core.owl.ObjectPropertyHierarchy; import org.dllearner.core.owl.Thing; import org.dllearner.kb.SparqlEndpointKS; -import org.dllearner.kb.sparql.ExtractionDBCache; import org.dllearner.kb.sparql.SPARQLTasks; import org.dllearner.kb.sparql.SparqlEndpoint; import org.dllearner.utilities.datastructures.SortedSetTuple; import org.dllearner.utilities.owl.ConceptComparator; -import org.semanticweb.owlapi.model.AxiomType; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.clarkparsia.owlapiv3.XSD; -import com.hp.hpl.jena.query.Query; import com.hp.hpl.jena.query.QuerySolution; import com.hp.hpl.jena.query.ResultSet; import com.hp.hpl.jena.rdf.model.Model; @@ -139,24 +134,44 @@ query = "CONSTRUCT {?s <http://www.w3.org/2002/07/owl#disjointWith> ?o} WHERE {?s <http://www.w3.org/2002/07/owl#disjointWith> ?o}"; model.add(loadIncrementally(query)); //load domain axioms - query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#domain> ?o} WHERE {?s <http://www.w3.org/2000/01/rdf-schema#domain> ?o}"; + query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#domain> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty> } " + + "WHERE {?s <http://www.w3.org/2000/01/rdf-schema#domain> ?o.?s a <http://www.w3.org/2002/07/owl#ObjectProperty>}"; model.add(loadIncrementally(query)); + query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#domain> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>} " + + "WHERE {?s <http://www.w3.org/2000/01/rdf-schema#domain> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>}"; + model.add(loadIncrementally(query)); //load range axioms - query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#range> ?o} WHERE {?s <http://www.w3.org/2000/01/rdf-schema#range> ?o}"; + query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#range> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>} " + + "WHERE {?s <http://www.w3.org/2000/01/rdf-schema#range> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>}"; model.add(loadIncrementally(query)); + query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#range> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>} " + + "WHERE {?s <http://www.w3.org/2000/01/rdf-schema#range> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>}"; + model.add(loadIncrementally(query)); //load property hierarchy - query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> ?o} WHERE {?s <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> ?o}"; + query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>} " + + "WHERE {?s <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>}"; model.add(loadIncrementally(query)); - query = "CONSTRUCT {?s <http://www.w3.org/2002/07/owl#equivalentProperty> ?o} WHERE {?s <http://www.w3.org/2002/07/owl#equivalentProperty> ?o}"; + query = "CONSTRUCT {?s <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>} " + + "WHERE {?s <http://www.w3.org/2000/01/rdf-schema#subPropertyOf> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>}"; model.add(loadIncrementally(query)); - query = "CONSTRUCT {?s <http://www.w3.org/2002/07/owl#propertyDisjointWith> ?o} WHERE {?s <http://www.w3.org/2002/07/owl#propertyDisjointWith> ?o}"; + query = "CONSTRUCT {?s <http://www.w3.org/2002/07/owl#equivalentProperty> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>} " + + "WHERE {?s <http://www.w3.org/2002/07/owl#equivalentProperty> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>}"; model.add(loadIncrementally(query)); + query = "CONSTRUCT {?s <http://www.w3.org/2002/07/owl#equivalentProperty> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>} " + + "WHERE {?s <http://www.w3.org/2002/07/owl#equivalentProperty> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>}"; + model.add(loadIncrementally(query)); + query = "CONSTRUCT {?s <http://www.w3.org/2002/07/owl#propertyDisjointWith> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>} " + + "WHERE {?s <http://www.w3.org/2002/07/owl#propertyDisjointWith> ?o. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>}"; + model.add(loadIncrementally(query)); + query = "CONSTRUCT {?s <http://www.w3.org/2002/07/owl#propertyDisjointWith> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>} " + + "WHERE {?s <http://www.w3.org/2002/07/owl#propertyDisjointWith> ?o. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>}"; + model.add(loadIncrementally(query)); //load inverse relation query = "CONSTRUCT {?s <http://www.w3.org/2002/07/owl#inverseOf> ?o} WHERE {?s <http://www.w3.org/2002/07/owl#inverseOf> ?o}"; model.add(loadIncrementally(query)); //load property characteristics Set<Resource> propertyCharacteristics = new HashSet<Resource>(); - propertyCharacteristics.add(OWL.FunctionalProperty); +// propertyCharacteristics.add(OWL.FunctionalProperty); propertyCharacteristics.add(OWL.InverseFunctionalProperty); propertyCharacteristics.add(OWL.SymmetricProperty); propertyCharacteristics.add(OWL.TransitiveProperty); @@ -168,25 +183,35 @@ query = "CONSTRUCT {?s a <%s>} WHERE {?s a <%s>}".replaceAll("%s", propChar.getURI()); model.add(loadIncrementally(query)); } + //for functional properties we have to distinguish between data and object properties, + //i.e. we have to keep the property type information, otherwise conversion to OWLAPI ontology makes something curious + query = "CONSTRUCT {?s a <%s>. ?s a <http://www.w3.org/2002/07/owl#ObjectProperty>} WHERE {?s a <%s>.?s a <http://www.w3.org/2002/07/owl#ObjectProperty>}". + replaceAll("%s", OWL.FunctionalProperty.getURI()); + model.add(loadIncrementally(query)); + query = "CONSTRUCT {?s a <%s>. ?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>} WHERE {?s a <%s>.?s a <http://www.w3.org/2002/07/owl#DatatypeProperty>}". + replaceAll("%s", OWL.FunctionalProperty.getURI()); + model.add(loadIncrementally(query)); + return model; } private Model loadIncrementally(String query){ -// try { + System.out.println(StringUtils.md5Hash(query)); + try { QueryExecutionFactory f = new QueryExecutionFactoryHttp(ks.getEndpoint().getURL().toString(), ks.getEndpoint().getDefaultGraphURIs()); -// f = new QueryExecutionFactoryCache(f, new CacheImpl(CacheCoreH2.create("cache", 60 * 24 *5))); - System.out.println("SPARQLReasoner.loadIncrementally needs to be rewritten for aksw-commons 0.1"); - System.exit(0); + f = new QueryExecutionFactoryCache(f, new CacheImpl(CacheCoreH2.create("cache", 60 * 24 *5))); +// System.out.println("SPARQLReasoner.loadIncrementally needs to be rewritten for aksw-commons 0.1"); +// System.exit(0); f = new QueryExecutionFactoryPaginated(f, 1000); Model model = f.createQueryExecution(query).execConstruct(); return model; -// } catch (ClassNotFoundException e) { -// e.printStackTrace(); -// } catch (SQLException e) { -// e.printStackTrace(); -// } -// return null; + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } catch (SQLException e) { + e.printStackTrace(); + } + return null; } @Override This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |