Hi, 

I am working on a project focused on OWL. Recently we came up with the 
requirement to deal with multiple owl ontologies interconnected with each other 
using the named graph approach.

I have two questions on the matter:

1-Is there any tool (i suppose triple store) that support that ?( I understood 
that when it comes to pure RDF, Jena TDB could handle that. Just not sure 
upfront with OWL DL. Although i suppose so….)

2-I’m currently heavily relying on OWL-API and Pellet, can TBD allow me to keep 
working with the OWL API, to update my ontologies at runtime, while providing 
me with the triple store management ? 

I saw some interesting code on the pellet website that show some 
interoperability between Jena and the OWL-API trough the Pellet API. I just 
don’t know how effective that can be: 



>>>>>

How can I run SPARQL queries with OWLAPI?
There is no native SPARQL support in OWLAPI. However, a Jena model can be 
created with the contents of an OWLAPI reasoner so SPARQL query answering can 
be done on the Jena model.OWLAPI reasoner and Jena model can be queried 
together but all updates should be done on theOWLAPI ontology. The following 
snippet shows the general idea behind this approach:

   // import com.clarkparsia.pellet.owlapiv3.PelletReasoner;
   // import com.clarkparsia.pellet.owlapiv3.PelletReasonerFactory;

   // Create OWLAPI ontology as usual
   OWLOntology ontology = ...
   // Create Pellet-OWLAPI reasoner (non-buffering mode makes synchronization 
easier)
   PelletReasoner reasoner =  
         PelletReasonerFactory.getInstance().createNonBufferingReasoner( 
ontology );
   // Get the KB from the reasoner
   KnowledgeBase kb = reasoner.getKB();
   // Create a Pellet graph using the KB from OWLAPI
   PelletInfGraph graph = new org.mindswap.pellet.jena.PelletReasoner().bind( 
kb );
   // Wrap the graph in a model
   InfModel model = ModelFactory.createInfModel( graph );
   // Use the model to answer SPARQL queries

The model created this way cannot be used to answer SPARQL queries that query 
for RDF syntax triples, e.g. SELECT * WHERE { ?x owl:onProperty ?p }.

Reply via email to