Package com.clarkparsia.modularity

Examples of com.clarkparsia.modularity.IncrementalClassifier


  @Test
  public void addNonLocal() throws OWLException {
    OWLAxiom[] axioms = { subClassOf( A, B ), subClassOf( C, D ) };
    createOntology( axioms );

    IncrementalClassifier modular = PelletIncremantalReasonerFactory.getInstance().createReasoner( ontology );
    modular.classify();
   
    assertTrue( modular.isEntailed( subClassOf( A, B ) ) );
    assertFalse( modular.isEntailed( subClassOf( B, C ) ) );
    assertTrue( modular.isEntailed( subClassOf( C, D ) ) );

    OntologyUtils.addAxioms( ontology, Arrays.asList( equivalentClasses( D, all( p, D ) ),
        subClassOf( B, C ) ) );
    modular.classify();
    assertTrue( modular.isEntailed( subClassOf( A, B ) ) );
    assertTrue( modular.isEntailed( subClassOf( B, C ) ) );
    assertTrue( modular.isEntailed( subClassOf( C, D ) ) );

    OntologyUtils.removeAxioms( ontology, Arrays.asList( subClassOf( A, B ) ) );
    modular.classify();
    assertFalse( modular.isEntailed( subClassOf( A, B ) ) );
    assertTrue( modular.isEntailed( subClassOf( B, C ) ) );
    assertTrue( modular.isEntailed( subClassOf( D, D ) ) );

    modular.dispose();
  }
View Full Code Here


  @Test
  public void deleteNonLocal() throws OWLException {
    OWLAxiom[] axioms = { subClassOf( A, B ), subClassOf( C, D ), equivalentClasses( D, all( p, D ) ) };
    createOntology( axioms );

    IncrementalClassifier modular = PelletIncremantalReasonerFactory.getInstance().createReasoner( ontology );
    modular.classify();
   
    assertTrue( modular.isEntailed( subClassOf( A, B ) ) );
    assertFalse( modular.isEntailed( subClassOf( B, C ) ) );
    assertTrue( modular.isEntailed( subClassOf( C, D ) ) );

    OntologyUtils.removeAxioms( ontology, Arrays.asList( equivalentClasses( D, all( p, D ) ) ) );
    OntologyUtils.addAxioms( ontology, Arrays.asList( subClassOf( B, C ) ) );
    modular.classify();
    assertTrue( modular.isEntailed( subClassOf( A, B ) ) );
    assertTrue( modular.isEntailed( subClassOf( B, C ) ) );
    assertTrue( modular.isEntailed( subClassOf( C, D ) ) );

    OntologyUtils.removeAxioms( ontology, Arrays.asList( subClassOf( A, B ) ) );
    modular.classify();
    assertFalse( modular.isEntailed( subClassOf( A, B ) ) );
    assertTrue( modular.isEntailed( subClassOf( B, C ) ) );
    assertTrue( modular.isEntailed( subClassOf( D, D ) ) );

    modular.dispose();
  }
View Full Code Here

  @Test
  public void testDeferredClassification() {
    OWLAxiom[] axioms = { subClassOf( A, B ), subClassOf( C, D ) };
    createOntology( axioms );

    IncrementalClassifier modular = PelletIncremantalReasonerFactory.getInstance().createReasoner( ontology );
    modular.classify();
   
    assertTrue(modular.isClassified());
   
    assertEquals(Collections.emptySet(), modular.getTypes(a, false).getFlattened());
   
    assertTrue(modular.isRealized());
   
    OntologyUtils.addAxioms( ontology, Arrays.asList( classAssertion( a, A ) ) );
   
    // despite of having added a new fact, the classifier should still be in classified state (the axiom was an A-Box axiom)
    assertTrue(modular.isClassified());
    assertFalse(modular.isRealized());
   
    assertEquals(SetUtils.create(A, B, OWL.Thing), modular.getTypes(a, false).getFlattened());   
    assertTrue(modular.isEntailed(subClassOf( A, B )));
    assertFalse(modular.isEntailed(subClassOf( A, C )));
   
    assertTrue(modular.isRealized());
   
    // now try to add a T-Box axiom
    OntologyUtils.addAxioms( ontology, Arrays.asList( subClassOf( A, C ) ) );
   
    // the classifier should no longer be in classified state
    assertFalse(modular.isClassified());
    assertFalse(modular.isRealized());
   
    // force classification
    modular.classify();
   
    // check whether the classifier returned to the classified state
    assertTrue(modular.isClassified());
   
    assertEquals(SetUtils.create(A, B, C, D, OWL.Thing), modular.getTypes(a, false).getFlattened());
    assertTrue(modular.isEntailed(subClassOf( A, B )));
    assertTrue(modular.isEntailed(subClassOf( A, C )));
  }
View Full Code Here

  public void testOWL2Incremental() throws OWLException {
    String ns = "http://www.example.org/test#";

    OWLOntology ont = loadOntology( base + "owl2.owl" );

    IncrementalClassifier classifier = new IncrementalClassifier( ont );
   
    try {
          // force classification
          classifier.classify();
          // force realization
          OWLNamedIndividual ind1 = Individual(ns + "ind1");
          classifier.getTypes(ind1, true);
          testOWL2Reasoner(ns, classifier);
        }
        finally {
          classifier.dispose();
        }       
  }
View Full Code Here

  public void testFamilyIncremental() {
    String ns = "http://www.example.org/family#";

    OWLOntology ont = loadOntology( base + "family.owl" );

    IncrementalClassifier classifier = new IncrementalClassifier( ont );
   
    try {
          // force classification
          classifier.classify();
         
          testFamily( ns, classifier );
         
          // force realization
          OWLNamedIndividual ind1 = Individual( ns + "ind1" );
          classifier.getTypes(ind1, true);
         
          testFamily( ns, classifier );
        }
        finally {
        classifier.dispose();
        }
  }
View Full Code Here

    });
  }
 
  private static void runComparisonTest(OWLOntology ontology, ModuleExtractor modExtractor, ReasonerComparisonMethod comparisonMethod) {
    PelletReasoner unified = PelletReasonerFactory.getInstance().createNonBufferingReasoner( ontology );
    IncrementalClassifier modular = PelletIncremantalReasonerFactory.getInstance().createReasoner( ontology, modExtractor );
   
    PelletOptions.USE_CLASSIFICATION_MONITOR = PelletOptions.MonitorType.CONSOLE;
    modular.classify();
    unified.getKB().classify();
   
    comparisonMethod.compare( unified, modular );
   
    modular.dispose();
  }
View Full Code Here

  }
 
  private static void runComparisonUpdateTest(OWLOntology ontology, ModuleExtractor modExtractor,
      Collection<OWLAxiom> additions, Collection<OWLAxiom> deletions, ReasonerComparisonMethod comparisonMethod) {
    PelletReasoner unified = PelletReasonerFactory.getInstance().createNonBufferingReasoner( ontology );
    IncrementalClassifier modular = PelletIncremantalReasonerFactory.getInstance().createReasoner( ontology, modExtractor );

    PelletOptions.USE_CLASSIFICATION_MONITOR = PelletOptions.MonitorType.CONSOLE;
    modular.classify();

    comparisonMethod.compare( unified, modular );
   
    OntologyUtils.addAxioms( ontology, additions );   
    OntologyUtils.removeAxioms( ontology, deletions );
   
    modular.classify();
    unified.flush();
    unified.getKB().classify();
   
    modular.timers.print();

    comparisonMethod.compare( unified, modular );
   
    modular.dispose();
  }
View Full Code Here

    OWLOntology ontology = OntologyUtils.loadOntology( inputOnt );
   
    try {   
      ModuleExtractor moduleExtractor = createModuleExtractor();

      IncrementalClassifier modular = PelletIncremantalReasonerFactory.getInstance().createReasoner( ontology, moduleExtractor );
      modular.classify();

      List<OWLAxiom> axiomsToRemove = new ArrayList<OWLAxiom>( TestUtils.selectRandomAxioms( ontology, 1 ) );

      for( OWLAxiom axiomToRemove : axiomsToRemove ) {
        OWL.manager.applyChange( new RemoveAxiom(ontology, axiomToRemove ) );
View Full Code Here

TOP

Related Classes of com.clarkparsia.modularity.IncrementalClassifier

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.