private boolean isDisjointInstanceBased(OWLClassExpression d1, OWLClassExpression d2) { SortedSet<OWLIndividual> d1Instances = reasoner.getIndividuals(d1); SortedSet<OWLIndividual> d2Instances = reasoner.getIndividuals(d2); for(OWLIndividual d1Instance : d1Instances) { if(d2Instances.contains(d1Instance)) return false; } return true; }
public void setReasoners(AbstractReasonerComponent... rcs) throws ComponentInitException { this.rcs = rcs; for(AbstractReasonerComponent rc : this.rcs) { rc.init(); } } }
@Override public void init() throws ComponentInitException { if(classHierarchy == null) { classHierarchy = rs.getClassHierarchy(); opHierarchy = rs.getObjectPropertyHierarchy(); dpHierarchy = rs.getDatatypePropertyHierarchy(); for(OWLObjectProperty op : rs.getObjectProperties()) { opDomains.put(op, rs.getDomain(op)); opRanges.put(op, rs.getRange(op)); for(OWLDataProperty dp : rs.getDatatypeProperties()) { dpDomains.put(dp, rs.getDomain(dp)); dpRanges.put(dp, rs.getRange(dp));
public static <T extends OWLEntity> Set<T> computeEntities(AbstractReasonerComponent rs, EntityType<T> entityType) { // if there is no ignore or allowed list, we just ignore the concepts // of uninteresting namespaces if (entityType == EntityType.CLASS) { return (Set<T>) rs.getClasses(); } else if (entityType == EntityType.OBJECT_PROPERTY) { return (Set<T>) rs.getObjectProperties(); } else if (entityType == EntityType.DATA_PROPERTY) { return (Set<T>) rs.getDatatypeProperties(); } return null; }
public ELDescriptionTree(AbstractReasonerComponent rs) { this.rs = rs; subsumptionHierarchy = rs.getClassHierarchy(); roleHierarchy = rs.getObjectPropertyHierarchy(); }
@Autowired public void setReasoner(AbstractReasonerComponent reasoner) { this.reasoner = reasoner; baseURI = reasoner.getBaseURI(); prefixes = reasoner.getPrefixes(); }
@Test public void rhoDRDownTest2() throws ParseException, ComponentInitException { StringRenderer.setRenderer(Rendering.DL_SYNTAX); AbstractReasonerComponent reasoner = TestOntologies.getTestOntology(TestOntology.EPC_OE); baseURI = reasoner.getBaseURI(); RhoDRDown op = new RhoDRDown(); op.setReasoner(reasoner); op.setSubHierarchy(reasoner.getClassHierarchy()); op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); op.init(); OWLClassExpression concept = KBParser.parseConcept("(\"http://localhost/aris/sap_model.owl#EPC\" AND EXISTS \"http://localhost/aris/sap_model.owl#hasModelElements\".\"http://localhost/aris/sap_model.owl#Object\")"); Set<OWLClassExpression> results = op.refine(concept,10); for(OWLClassExpression result : results) { System.out.println(result); } int desiredResultSize = 107; if(results.size() != desiredResultSize) { System.out.println(results.size() + " results found, but should be " + desiredResultSize + "."); } assertTrue(results.size()==desiredResultSize); }
@Test public void rhoDRDownTest5() throws ParseException, LearningProblemUnsupportedException, ComponentInitException { AbstractReasonerComponent reasoner = TestOntologies.getTestOntology(TestOntology.SWORE); RhoDRDown op = new RhoDRDown(); op.setReasoner(reasoner); op.setSubHierarchy(reasoner.getClassHierarchy()); op.setObjectPropertyHierarchy(reasoner.getObjectPropertyHierarchy()); op.setDataPropertyHierarchy(reasoner.getDatatypePropertyHierarchy()); op.init(); // Description concept = KBParser.parseConcept("((NOT \"http://ns.softwiki.de/req/Requirement\") OR (ALL \"http://ns.softwiki.de/req/isCreatedBy\".(NOT \"http://ns.softwiki.de/req/Creditor\")))"); OWLClassExpression concept = KBParser.parseConcept("(NOT \"http://ns.softwiki.de/req/Requirement\" OR ALL \"http://ns.softwiki.de/req/isCreatedBy\".NOT \"http://ns.softwiki.de/req/Creditor\")"); System.out.println(concept); Set<OWLClassExpression> refinements = op.refine(concept, 8); for(OWLClassExpression refinement : refinements) { System.out.println(refinement); } }
String baseURI = reasoner.getBaseURI(); Map<String, String> prefixes = reasoner.getPrefixes(); Set<OWLClass> classes = new TreeSet<>(reasoner.getClasses()); int instanceCount = reasoner.getIndividuals(nc).size(); if (instanceCount < minInstanceCount) { System.out.println("class " + nc.toString()
protected int getCorrectPosClassified(AbstractReasonerComponent rs, OWLClassExpression concept, Set<OWLIndividual> testSetPos) { return rs.hasType(concept, testSetPos).size(); }
@Override public void init() throws ComponentInitException { baseURI = reasoner.getBaseURI(); prefixes = reasoner.getPrefixes(); isEquivalenceProblem = problem.isEquivalenceProblem(); examples = reasoner.getIndividuals(classToDescribe); } else if(learningProblem instanceof PosOnlyLP) { examples = ((PosOnlyLP)learningProblem).getPositiveExamples(); reasoner.setSynchronized(); operator = new SynchronizedRefinementOperator(operator);
if (!getReasoner().getClasses().contains(classToDescribe)) { throw new ComponentInitException("The class \"" + classToDescribe + "\" does not exist. Make sure you spelled it correctly."); classInstances = new LinkedList<>(getReasoner().getIndividuals(classToDescribe)); Set<OWLClassExpression> superClasses = getReasoner().getSuperClasses(classToDescribe); TreeSet<OWLIndividual> superClassInstancesTmp = new TreeSet<>(getReasoner().getIndividuals()); for (OWLClassExpression superClass : superClasses) { superClassInstancesTmp.retainAll(getReasoner().getIndividuals(superClass));
@Override public void init() throws ComponentInitException { baseURI = reasoner.getBaseURI(); prefixes = reasoner.getPrefixes(); isEquivalenceProblem = problem.isEquivalenceProblem(); examples = reasoner.getIndividuals(classToDescribe); } else if(learningProblem instanceof PosOnlyLP) { examples = ((PosOnlyLP)learningProblem).getPositiveExamples();
@Override public final <T extends OWLProperty> SortedSet<T> getSuperProperties(T role) { if(OWLObjectProperty.class.isInstance(role) && precomputeObjectPropertyHierarchy) { return (SortedSet<T>) getObjectPropertyHierarchy().getMoreGeneralRoles((OWLObjectProperty) role); } else if(OWLDataProperty.class.isInstance(role) && precomputeDataPropertyHierarchy) { return (SortedSet<T>) getDatatypePropertyHierarchy().getMoreGeneralRoles((OWLDataProperty) role); } else { try { return getSuperPropertiesImpl(role); } catch (ReasoningMethodUnsupportedException e) { e.printStackTrace(); } } return null; }
@Override public final <T extends OWLProperty> SortedSet<T> getSubProperties(T role) { if(OWLObjectProperty.class.isInstance(role) && precomputeObjectPropertyHierarchy) { return (SortedSet<T>) getObjectPropertyHierarchy().getMoreSpecialRoles((OWLObjectProperty) role); } else if(OWLDataProperty.class.isInstance(role) && precomputeDataPropertyHierarchy) { return (SortedSet<T>) getDatatypePropertyHierarchy().getMoreSpecialRoles((OWLDataProperty) role); } else { try { return getSubPropertiesImpl(role); } catch (ReasoningMethodUnsupportedException e) { e.printStackTrace(); } } return null; }
public static Set<OWLClass> computeConcepts(AbstractReasonerComponent rs) { // if there is no ignore or allowed list, we just ignore the concepts // of uninteresting namespaces Set<OWLClass> concepts = rs.getClasses(); // Helper.removeUninterestingConcepts(concepts); return concepts; }
reasoner.setPrecomputeClassHierarchy(true); reasoner.setPrecomputeObjectPropertyHierarchy(true); reasoner.setPrecomputeDataPropertyHierarchy(true); reasoner.init();
/** * if pos ex derive from one class, then neg ex are taken from a superclass * CURRENTLY SAME METHOD AS makeNegativeExamplesFromSuperClasses(OWLClass concept) * but works quite often * @param concept * @param depth PARAMETER CURRENTLY NOT USED, ONLY DIRECT SUPERCLASSES */ public void makeNegativeExamplesFromSuperClasses(OWLClass concept, int depth) { fromSuperclasses.clear(); SortedSet<OWLClassExpression> superClasses = reasoningService.getSuperClasses(concept); logger.debug("making neg Examples from " + superClasses.size() + " superclasses"); for (OWLClassExpression oneSuperClass : superClasses) { logger.debug(oneSuperClass); fromSuperclasses.addAll(reasoningService.getIndividuals(oneSuperClass)); } this.fromSuperclasses.removeAll(fullPositiveSet); logger.debug("|-neg Example from superclass: " + fromSuperclasses.size()); }
public void setReasoner(AbstractReasonerComponent reasoner) { // TODO Auto-generated method stub this.reasoner= reasoner; if (allConcepts==null) allConcepts= new ArrayList<>(reasoner.getClasses()); //System.out.println("all+ Concepts: "+allConcepts.size()); if (allRoles==null) allRoles= new ArrayList<>(reasoner.getObjectProperties()); }
@Override public final SortedSet<OWLDataProperty> getMostGeneralDatatypeProperties() { return getDatatypePropertyHierarchy().getMostGeneralRoles(); }