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 }.