[Mulgara-dev] OWL API support for Mulgara

Paul Gearon gearon at ieee.org
Sat Nov 17 04:24:17 UTC 2007


On 11/3/07, David Wood <dwood at softwarememetics.com> wrote:
> Hi Webster,
>
> You are definitely thinking in the right direction :)  SPARQL and OWL
> are clearly the next steps for Mulgara's public APIs if the project is
> to gain a larger user base.

I totally agree here.  That's why I'm working on SPARQL right now.

OWL is my own personal interest, but I have less time to contribute to
it at the moment.  I plan to work on it in 3 ways:

1) An OWL API.  I don't really like SOFA, as it's just a shorthand for
writing all that RDF for each OWL statements. I think that OWL itself
is a little verbose, and I'd rather an API that let a developer
describe what they wanted, and then generate the OWL to describe
that.... which in turn generates the RDF.

2) A set of rules for OWL inferencing.  The rules engine is basically
there, but needs a couple of new functions to test for things like
intersections (it's easy to test that something has at least one
required type, but hard to check that it has all required types).
There are also some optimizations that I'd like to do, but pre-mature
optimization is the root of all evil.

3) Pellet.  Rules get you a long way, and IMHO are the only way to
scale.  However, there ARE questions that can't be efficiently
answered with rules (the Oedipus example in the DL-Handbook is a good
example). For this kind of thing, you need a tableaux reasoner.  I
like Pellet, and I'm particularly impressed with their recent caching
of state between invocations.

> Do you have the interest and skills to contribute?
>
> Regards,
> Dave
>
> On Nov 3, 2007, at 11:01 AM, Webster Mudge wrote:
>
> > Hi all,
> >
> > Any thoughts on implementing the OWL API interface [1] for Mulgara?
> > Is anyone already working on this, or is there no interest?
> >
> > I ask since the upcoming Protege 4.x [2] is based solely on the OWL
> > API spec.  It would be a smart move if Mulgara could be an underlying
> > repository for this popular application -- more eyes looking at
> > Mulgara means more momentum and all the rest, right?

Absolutely.

> > The thinking is that OWL API adherence will facilitate plugin and
> > repository development in the new Protege framework.  In addition,
> > implementing the OWLOntology interface [3] will allow developers of
> > other Mulgara-based applications easy access to Pellet, FaCT, and
> > other reasoners without resorting to the DIG interface.
> >
> > Mulgara has more or less abandoned the Jena interface, and I do not
> > see a lot of traction out there for JRDF or SOFA.  Mulgara needs to
> > play well with others; is the OWL API one of the answers?

Yes, we abandoned Jena, and with good reason.  Bristol labs didn't do
a good job of advertising which APIs were public, and so people
started talking to a lot of internal classes that they should have
left alone.  The result was that if you wanted to support the "Jena"
interfaces, you had to incorporate a whole slew of classes you should
have been staying well clear of.  These classes formed some of the
internal functionality of Jena, so we ended up borrowing a lot of
their memory usage, etc, when we didn't want to.  That's why we were
slow on the Jena interface.  In the worst cases, a client using the
Jena interface was storing everything in Jena, and duplicating it in
Kowari at the same time.... and there was nothing we could do about
it.

So Jena is dead for us.  It's not coming back.  :-)

JRDF is useful for talking about triples, but that's about it.  It
doesn't handle queries or RDF/RDFS structure, or anything like that.
As such, it doesn't form a useful API for interoperability, though it
can still be useful internally.

I agree with you about SOFA.  I already mentioned this.

I'm not really familiar with the OWL API, as I haven't been playing at
this level for a few months now.  Thanks for the link.  I'm all for
standards and popular APIs.

Paul



More information about the Mulgara-dev mailing list