View Javadoc
1   package ubic.basecode.ontology.jena;
2   
3   import com.hp.hpl.jena.ontology.OntModel;
4   import com.hp.hpl.jena.ontology.OntModelSpec;
5   import com.hp.hpl.jena.rdf.model.ModelFactory;
6   import org.junit.Test;
7   
8   import static org.junit.Assert.*;
9   import static ubic.basecode.ontology.jena.JenaUtils.supportsAdditionalRestrictionsInference;
10  import static ubic.basecode.ontology.jena.JenaUtils.supportsSubClassInference;
11  
12  public class JenaUtilsTest {
13      @Test
14      public void testInferenceCapabilities() {
15          OntModel model;
16  
17          model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM );
18          assertNull( model.getReasoner() );
19          assertFalse( supportsSubClassInference( model ) );
20          assertFalse( supportsAdditionalRestrictionsInference( model ) );
21  
22          model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_TRANS_INF );
23          assertNotNull( model.getReasoner() );
24          assertTrue( supportsSubClassInference( model ) );
25          assertFalse( supportsAdditionalRestrictionsInference( model ) );
26  
27          model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_MICRO_RULE_INF );
28          assertNotNull( model.getReasoner() );
29          assertTrue( supportsSubClassInference( model ) );
30          assertFalse( supportsAdditionalRestrictionsInference( model ) );
31  
32          model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_MINI_RULE_INF );
33          assertNotNull( model.getReasoner() );
34          assertTrue( supportsSubClassInference( model ) );
35          assertFalse( supportsAdditionalRestrictionsInference( model ) );
36  
37          model = ModelFactory.createOntologyModel( OntModelSpec.OWL_MEM_RULE_INF );
38          assertNotNull( model.getReasoner() );
39          assertTrue( supportsSubClassInference( model ) );
40          assertTrue( supportsAdditionalRestrictionsInference( model ) );
41      }
42  }