OWL 1.1

by Bijan Parsia

One result, by intent, of the OWL: Experiences and Directions workshop is that we have consensus, broadly speaking, on an OWL “1.1”. That is, we agreed on things that the implementors and theorists thought was feasible and the users thought would be (most) useful. Peter Patel-Schneider has written up our consensus in the form of a preliminary specification, namely overview and syntax documents. (Bernardo is working on the updated model theory…that boy is SUCH the busy beaver.) We have commitments from the implementors of four out of five of major reasoners (Pellet, FaCT++, Cerebra and Racer, with the status of KAON2 unknown to me…they might have agreed and I just don’t remember) to try to implement “enough” of the new specs across us by May. Swoop and I imagine Protégé will support the new features as well.

The idea is to create facts on the ground…a new state of the deployed that would feed into a standardization effort (if it seemed necessary!) This is why it was important to get the implementors on board. If we all agree on a syntax and a feature set, then standardization can be quick and easy. The users needed to be on board so we don’t waste our time. None of these feature feed our research agenda at all (since they are, as our fundamental criteria put it, well understood and relatively easy wins), so there needs to be other sorts of reward, like a happy user base.

The overview document does a good job of saying what’s up, but to sum up the main thrust of OWL DL 1.1 is that we move from SHOIN (with limited D) as the underlying description logic to SROIQ (where the D is quite a bit) plus punning, a limited form a metamodeling that pushes annotation properties to the next level. Conceptually, these are relatively small changes well within the spirit of OWL DL (and OWL overall).

There are still issues, of course, in particular the one that has bedeviled OWL and esp. OWL DL from the start: How to deal with RDF (esp. the RDF encoding of the syntax). Especially annoying (to the point that Evren thinks we should drop the feature) is how to write negated role assertions. I.e., that Mary does not love Sally. That not is a pain in triples. The obvious solution is something along the lines of owl:inverseOf…but bleah. (RDF triples are a barrier to other useful extensions, like the K operator. See Jordan’s paper for some details.)

We’re going to have another workshop, again colocated with ISWC, next year. At that point I hope we’ll have 6 months of OWL 1.1 experience to deal with, and can start thinking about OWL 1.2 and more importantly, OWL 2.0. We’ll try to make OWL 1.1 a W3C note/submission and expect it to be an easy win for a future working group.

These are good things: working light and agile; trying to get systems built that have the features people need; and being community driven. Build the consensus first, THEN go to the standards bodies. Anyone may participate in the workshops or on the mailing list—- just recognize that you have to convince some people to donate their time and energy. Our basic principle is that if the implementors aren’t going to do it, then there’s no point in “standardizing” it, even informally. While this does put the “power” in the hands of the implementors, everyone has a chance to weild or influence that power. You can just persuade us. Or you can pay money to the Racer or Cerebra or KAON guys. Or you can roll up your sleeves and dive into the Pellet, FaCT++, Swoop, or Protégé code (they are all open source), or write your own tool! Or pay someone to work on the open source tools. Windging, whining, bullying, complaining of unfairness are off the table. I and the all the folks at Mindswap are happy to help get people into our code!

Torture, abrogating laws at whim, domestic spying without oversite, and endless detention without trial—- just four simple reasons (out of many) for outrage. If you need a little anti-Democrat joy as well, consider not just how they rolled over for all this, but also Waco and the Clinton continuation of sanctions against Iraq.