On 07/11/2011 19:17, Nick Khamis wrote:
Hello Everyone,

We are looking for a solution that would allow us to transfer our OWL2
knowledge base to a full fledged application.
What we are looking for are:

* An OWL API capable of creating OWL 2 models: The Protege API is
great however comes with much to much overhead,
i.e., the editor related implemanation. Is the Jena api capable of
creating OWL 2 ontology models?

Sort of. There is, as yet, no convenience API for OWL 2 in Jena. However, the OWL 2 RDF encoding is backward compatible so you can use the Jena OntModels OWL interface for the OWL 1 subset of features and then create your own wrapper methods to construct the RDF triples which make up the OWL 2 features that are not in OWL 1.

Not ideal but it can work and we do know of people constructing OWL 2 models this way.

* A triple store capable of storing OWL 2 expressions, and performing
deduction using the widely used reasoners. It is
important for us to support OWL or OWL 2 reasoning on the triple store
level. Much like Sesame does with OWLIM.
The triple store must also be able to inteface with the Pellet reasoner.

All Jena triple stores can store OWL 2 expressions since they are just RDF.

Both Pellet and OWLIM offer a Jena bridge. I believe StarDog offers some Jena integration as well.

* Interface between the reasoners and the triple stores. I would
assume at this early stage that deduction on the triple
store level using a pellet would be done through an interface of some
sort (e.g., Triple Store -> Jena -> Pellet). If I am
not mistaken, what are some of the soultions used out there for this.

The way inference works in Jena, by default, is a Reasoner creates an inference model (InfModel or OntModel) which wraps some underlying store and creates (or at least acts as if it creates) the deductive closure of the base data. This means that any Jena Reasoner can work with any Jena store but that does have the disadvantage that the reasoner can't use special features of the underlying store.

Pellet implements the Jena reasoner interface and so can be used with any Jena Model implementation - though if the Model is backed by some database (as opposed to having been materialized in memory) then the inference will be slower.

I don't know the details of the OWLIM Jena interface but I would guess that they have a tight coupling between the store and inference rather than packaging the latter as a Jena Reasoner.

Dave

Reply via email to