From: <lor...@us...> - 2013-05-09 13:27:06
|
Revision: 3967 http://sourceforge.net/p/dl-learner/code/3967 Author: lorenz_b Date: 2013-05-09 13:27:03 +0000 (Thu, 09 May 2013) Log Message: ----------- Refactored pattern eval. Modified Paths: -------------- trunk/scripts/src/main/java/org/dllearner/scripts/pattern/OWLAxiomPatternUsageEvaluation.java Modified: trunk/scripts/src/main/java/org/dllearner/scripts/pattern/OWLAxiomPatternUsageEvaluation.java =================================================================== --- trunk/scripts/src/main/java/org/dllearner/scripts/pattern/OWLAxiomPatternUsageEvaluation.java 2013-05-09 13:21:27 UTC (rev 3966) +++ trunk/scripts/src/main/java/org/dllearner/scripts/pattern/OWLAxiomPatternUsageEvaluation.java 2013-05-09 13:27:03 UTC (rev 3967) @@ -212,8 +212,22 @@ //get the maximum modal depth in the pattern axioms int maxModalDepth = maxModalDepth(patterns); + //check if we need the fragments + boolean fragmentsNeeded = false; + for (OWLAxiom pattern : patterns) { + //run if not already exists a result on disk + File file = new File(axiomRenderer.render(pattern).replace(" ", "_") + "-instantiations.ttl"); + if(!file.exists()){ + fragmentsNeeded = true; + break; + } + } + //extract fragment for each class only once - Map<NamedClass, Model> class2Fragment = extractFragments(classes, maxModalDepth); + Map<NamedClass, Model> class2Fragment = null; + if(fragmentsNeeded){ + class2Fragment = extractFragments(classes, maxModalDepth); + } //for each pattern for (OWLAxiom pattern : patterns) { @@ -273,25 +287,26 @@ double accuracy = getAccuracy(axiom); if(accuracy < sampleThreshold){ iter.remove(); - } - //check for some trivial axioms - if(axiom.isOfType(AxiomType.SUBCLASS_OF)){ - OWLClassExpression subClass = ((OWLSubClassOfAxiom)axiom).getSubClass(); - OWLClassExpression superClass = ((OWLSubClassOfAxiom)axiom).getSuperClass(); - if(superClass.isOWLThing()){ - iter.remove(); - } else if(subClass.equals(superClass)){ - iter.remove(); - } else if(superClass instanceof OWLObjectIntersectionOf){ - Set<OWLClassExpression> operands = ((OWLObjectIntersectionOf) superClass).getOperands(); - for (OWLClassExpression op : operands) { - if(op.isOWLThing()){ - iter.remove(); - break; + } else { + //check for some trivial axioms + if(axiom.isOfType(AxiomType.SUBCLASS_OF)){ + OWLClassExpression subClass = ((OWLSubClassOfAxiom)axiom).getSubClass(); + OWLClassExpression superClass = ((OWLSubClassOfAxiom)axiom).getSuperClass(); + if(superClass.isOWLThing()){ + iter.remove(); + } else if(subClass.equals(superClass)){ + iter.remove(); + } else if(superClass instanceof OWLObjectIntersectionOf){ + Set<OWLClassExpression> operands = ((OWLObjectIntersectionOf) superClass).getOperands(); + for (OWLClassExpression op : operands) { + if(op.isOWLThing()){ + iter.remove(); + break; + } } + } else if(superClass.toString().contains("Concept") || superClass.toString().contains("subject")){ + iter.remove(); } - } else if(superClass.toString().contains("Concept") || superClass.toString().contains("subject")){ - iter.remove(); } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |