Package org.mindswap.pellet

Examples of org.mindswap.pellet.KnowledgeBase


    assertTrue( kb.getSames( term( "x2" ) ).contains( term( "x4" ) ) );
  }

  @Test
  public void testDifferentFrom2() {
    KnowledgeBase kb = new KnowledgeBase();

    kb.addClass( term( "C" ) );
    kb.addClass( term( "D" ) );
    kb.addDisjointClass( term( "C" ), term( "D" ) );

    kb.addIndividual( term( "a" ) );
    kb.addType( term( "a" ), term( "C" ) );

    kb.addIndividual( term( "b" ) );
    kb.addType( term( "b" ), term( "D" ) );

    kb.classify();

    assertTrue( kb.getDifferents( term( "a" ) ).contains( term( "b" ) ) );
    assertTrue( kb.getDifferents( term( "b" ) ).contains( term( "a" ) ) );
  }
View Full Code Here


    assertTrue( kb.getDifferents( term( "b" ) ).contains( term( "a" ) ) );
  }

  @Test
  public void testSHOIN() {
    KnowledgeBase kb = new KnowledgeBase();

    kb.addObjectProperty( term( "R1" ) );
    kb.addObjectProperty( term( "invR1" ) );
    kb.addObjectProperty( term( "R2" ) );
    kb.addObjectProperty( term( "invR2" ) );
    kb.addObjectProperty( term( "S1" ) );
    kb.addObjectProperty( term( "invS1" ) );
    kb.addObjectProperty( term( "S2" ) );
    kb.addObjectProperty( term( "invS2" ) );

    kb.addInverseProperty( term( "R1" ), term( "invR1" ) );
    kb.addInverseProperty( term( "R2" ), term( "invR2" ) );
    kb.addInverseProperty( term( "S1" ), term( "invS1" ) );
    kb.addInverseProperty( term( "S2" ), term( "invS2" ) );

    kb.addIndividual( term( "o1" ) );
    kb.addIndividual( term( "o2" ) );

    kb.addSubClass( value( term( "o1" ) ), and( max( term( "invR1" ), 2, ATermUtils.TOP ), all(
        term( "invR1" ), some( term( "S1" ), some( term( "invS2" ), some( term( "R2" ),
            value( term( "o2" ) ) ) ) ) ) ) );

    kb.addSubClass( value( term( "o2" ) ), and( max( term( "invR2" ), 2, ATermUtils.TOP ), all(
        term( "invR2" ), some( term( "S2" ), some( term( "invS1" ), some( term( "R1" ),
            value( term( "o1" ) ) ) ) ) ) ) );

    assertTrue( kb.isConsistent() );

    assertTrue( kb.isSatisfiable( and( value( term( "o1" ) ), some( term( "invR1" ), TOP ) ) ) );
  }
View Full Code Here

  // "Unsat4" ) ) );
  // }

  @Test
  public void testCyclicTBox1() {
    KnowledgeBase kb = new KnowledgeBase();

    ATermAppl C = term( "C" );
    kb.addEquivalentClass( C, not( C ) );

    assertFalse( kb.isConsistent() );
  }
View Full Code Here

   * left as CD. In phase 1, B is tried to be CD-classified but A is eft for
   * phase 2 thus unclassified at that time causing the exception.
   */
  @Test
  public void testTopClass2() {
    KnowledgeBase kb = new KnowledgeBase();

    ATermAppl A = term( "A" );
    ATermAppl B = term( "B" );
    ATermAppl C = term( "C" );

    ATermAppl p = term( "p" );

    kb.addClass( A );
    kb.addClass( B );
    kb.addClass( C );
    kb.addObjectProperty( p );

    kb.addEquivalentClass( A, or( B, not( B ) ) );
    // the following restriction is only to ensure we don't use the
    // EL classifier
    kb.addSubClass( C, min( p, 2, TOP ) );

    assertTrue( kb.isConsistent() );

    kb.classify();

    assertTrue( kb.isEquivalentClass( A, TOP ) );
    assertFalse( kb.isEquivalentClass( B, TOP ) );
  }
View Full Code Here

   */
  @Test
  public void testTopClass2EL() {
    // This test was failing due to the issue explained in #157 at some point but not anymore
    // The issue explained in #157 is still valid even though this test passes
    KnowledgeBase kb = new KnowledgeBase();

    ATermAppl A = term( "A" );
    ATermAppl B = term( "B" );

    kb.addClass( A );
    kb.addClass( B );

    kb.addEquivalentClass( A, or( B, not( B ) ) );

    assertTrue( kb.isConsistent() );

    kb.classify();

    assertTrue( kb.isEquivalentClass( A, TOP ) );
    assertFalse( kb.isEquivalentClass( B, TOP ) );
  }
View Full Code Here

   * An axiom like B = B or (not B) cause problems in classification process
   * because B was marked disjoint with itself.
   */
  @Test
  public void testTopClass3() {
    KnowledgeBase kb = new KnowledgeBase();

    ATermAppl A = term( "A" );
    ATermAppl B = term( "B" );
    ATermAppl C = term( "C" );

    kb.addClass( A );
    kb.addClass( B );
    kb.addClass( C );

    kb.addEquivalentClass( A, B );
    kb.addEquivalentClass( B, or( B, not( B ) ) );
    kb.addSubClass( C, A );

    assertTrue( kb.isConsistent() );

    kb.classify();

    assertTrue( kb.isEquivalentClass( A, TOP ) );
    assertTrue( kb.isEquivalentClass( B, TOP ) );
    assertFalse( kb.isEquivalentClass( C, TOP ) );
  }
View Full Code Here

    assertTrue( kb.isSatisfiable( C ) );
  }

  @Test
  public void testCyclicTBox2() {
    KnowledgeBase kb = new KnowledgeBase();

    ATermAppl B = term( "B" );
    ATermAppl C = term( "C" );
    ATermAppl D = term( "D" );

    kb.addClass( B );
    kb.addClass( C );
    kb.addClass( D );
    kb.addSubClass( C, B );
    kb.addSubClass( D, C );
    kb.addEquivalentClass( D, B );

    kb.classify();

    assertTrue( kb.isEquivalentClass( B, C ) );
    assertTrue( kb.isEquivalentClass( B, D ) );
    assertTrue( kb.isEquivalentClass( D, C ) );
  }
View Full Code Here

    assertTrue( top.getEquivalents().containsAll( classes ) );
  }

  @Test
  public void testComplexTypes() {
    KnowledgeBase kb = new KnowledgeBase();

    ATermAppl a = term( "a" );
    ATermAppl p = term( "p" );
    ATermAppl q = term( "q" );

    kb.addIndividual( a );

    kb.addType( a, min( p, 3, TOP ) );
    kb.addType( a, max( q, 2, TOP ) );
    kb.addType( a, min( q, 1, TOP ) );
    kb.addType( a, min( q, 1, TOP ) );

    kb.addObjectProperty( p );
    kb.addObjectProperty( q );

    assertTrue( kb.isConsistent() );
  }
View Full Code Here

  @Test
  public void testBottomSub() {

    // See also: http://cvsdude.com/trac/clark-parsia/pellet-devel/ticket/7

    KnowledgeBase kb = new KnowledgeBase();

    ATermAppl c = term( "c" );
    kb.addClass( c );
    kb.addSubClass( ATermUtils.BOTTOM, c );
    kb.classify();

    assertTrue( kb.isSubClassOf( ATermUtils.BOTTOM, c ) );
  }
View Full Code Here

  }

  @Test
  @Ignore("Known to fail because different lexical forms are stored in one canonical literal")
  public void testCanonicalLiteral() {
    KnowledgeBase kb = new KnowledgeBase();

    ATermAppl a = term( "a" );
    ATermAppl p = term( "p" );
    ATermAppl q = term( "q" );
    ATermAppl plain = ATermUtils.makePlainLiteral( "lit" );
    ATermAppl typed = ATermUtils.makeTypedLiteral( "lit", XSDString.getInstance().getName() );

    kb.addIndividual( a );
    kb.addDatatypeProperty( p );
    kb.addDatatypeProperty( q );

    kb.addPropertyValue( p, a, plain );
    kb.addPropertyValue( q, a, typed );

    assertIteratorValues( kb.getDataPropertyValues( p, a ).iterator(),
        new ATermAppl[] { plain } );
    assertIteratorValues( kb.getDataPropertyValues( q, a ).iterator(),
        new ATermAppl[] { typed } );

  }
View Full Code Here

TOP

Related Classes of org.mindswap.pellet.KnowledgeBase

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.