From: <lor...@us...> - 2013-10-04 21:00:15
|
Revision: 4117 http://sourceforge.net/p/dl-learner/code/4117 Author: lorenz_b Date: 2013-10-04 21:00:12 +0000 (Fri, 04 Oct 2013) Log Message: ----------- Adapted log levels. Modified Paths: -------------- trunk/components-core/src/main/java/org/dllearner/algorithms/DisjointClassesLearner.java trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java Modified: trunk/components-core/src/main/java/org/dllearner/algorithms/DisjointClassesLearner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/algorithms/DisjointClassesLearner.java 2013-10-03 10:30:55 UTC (rev 4116) +++ trunk/components-core/src/main/java/org/dllearner/algorithms/DisjointClassesLearner.java 2013-10-04 21:00:12 UTC (rev 4117) @@ -505,9 +505,19 @@ return evaluatedDescriptions; } - private EvaluatedAxiom computeDisjointess(NamedClass clsA, NamedClass clsB){ + public EvaluatedAxiom computeDisjointess(NamedClass clsA, NamedClass clsB){ logger.debug("Computing disjointness between " + clsA + " and " + clsB + "..."); + //if clsA = clsB + if(clsA.equals(clsB)){ + return new EvaluatedAxiom(new DisjointClassesAxiom(clsA, clsB), new AxiomScore(0d, 1d)); + }; + + //if the classes are connected via subsumption we assume that they are not disjoint + if(reasoner.isSuperClassOf(clsA, clsB) || reasoner.isSuperClassOf(clsB, clsA)){ + return new EvaluatedAxiom(new DisjointClassesAxiom(clsA, clsB), new AxiomScore(0d, 1d)); + }; + double scoreValue = 0; //get number of instances of A Modified: trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java 2013-10-03 10:30:55 UTC (rev 4116) +++ trunk/components-core/src/main/java/org/dllearner/core/AbstractAxiomLearningAlgorithm.java 2013-10-04 21:00:12 UTC (rev 4117) @@ -278,7 +278,7 @@ } protected Model executeConstructQuery(String query) { - logger.debug("Sending query\n{} ...", query); + logger.trace("Sending query\n{} ...", query); if(ks.isRemote()){ SparqlEndpoint endpoint = ((SparqlEndpointKS) ks).getEndpoint(); QueryEngineHTTP queryExecution = new QueryEngineHTTP(endpoint.getURL().toString(), @@ -315,7 +315,7 @@ } protected ResultSet executeSelectQuery(String query) { - logger.info("Sending query\n{} ...", query); + logger.trace("Sending query\n{} ...", query); if(ks.isRemote()){ SparqlEndpoint endpoint = ((SparqlEndpointKS) ks).getEndpoint(); QueryEngineHTTP queryExecution = new QueryEngineHTTP(endpoint.getURL().toString(), @@ -347,7 +347,7 @@ } protected ResultSet executeSelectQuery(String query, Model model) { - logger.debug("Sending query on local model\n{} ...", query); + logger.trace("Sending query on local model\n{} ...", query); QueryExecution qexec = QueryExecutionFactory.create(QueryFactory.create(query, Syntax.syntaxARQ), model); ResultSet rs = qexec.execSelect();; @@ -355,7 +355,7 @@ } protected boolean executeAskQuery(String query){ - logger.debug("Sending query\n{} ...", query); + logger.trace("Sending query\n{} ...", query); if(ks.isRemote()){ SparqlEndpoint endpoint = ((SparqlEndpointKS) ks).getEndpoint(); QueryEngineHTTP queryExecution = new QueryEngineHTTP(endpoint.getURL().toString(), query); Modified: trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java =================================================================== --- trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2013-10-03 10:30:55 UTC (rev 4116) +++ trunk/components-core/src/main/java/org/dllearner/reasoning/SPARQLReasoner.java 2013-10-04 21:00:12 UTC (rev 4117) @@ -592,6 +592,22 @@ } return types; } + + public Set<NamedClass> getTypes(Individual individual, String namespace) { + Set<NamedClass> types = new HashSet<NamedClass>(); + String query = "SELECT DISTINCT ?class WHERE {<" + individual.getName() + "> a ?class."; + if(namespace != null){ + query += "FILTER(REGEX(STR(?class),'^" + namespace + "'))"; + } + query += "}"; + ResultSet rs = executeSelectQuery(query); + QuerySolution qs; + while(rs.hasNext()){ + qs = rs.next(); + types.add(new NamedClass(qs.getResource("class").getURI())); + } + return types; + } public Set<NamedClass> getTypes() { return getTypes((String)null); @@ -1638,14 +1654,14 @@ } private ResultSet executeSelectQuery(String query){ - logger.debug("Sending query \n {}", query); + logger.trace("Sending query \n {}", query); QueryExecution qe = qef.createQueryExecution(query); ResultSet rs = qe.execSelect(); return rs; } private ResultSet executeSelectQuery(String query, long timeout){ - logger.debug("Sending query \n {}", query); + logger.trace("Sending query \n {}", query); QueryExecution qe = qef.createQueryExecution(query); qe.setTimeout(timeout); ResultSet rs = qe.execSelect(); @@ -1653,7 +1669,7 @@ } private boolean executeAskQuery(String query){ - logger.debug("Sending query \n {}", query); + logger.trace("Sending query \n {}", query); QueryExecution qe = qef.createQueryExecution(query); boolean ret = qe.execAsk(); return ret; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |