Reasoners: Development vs. Deployment

by Bijan Parsia

Alan Rector gave a talk at the summer school about lessons learned from the Galen project (see Open Galen for some info; they have the great slogan “Making the impossible very difficult”). The key one, which I have heard from the NCI folks too, is that the reasoner is for development. Deployment does not require (significant) reasoning for their applications.

Speaking as someone who sweated trying to make OWL reasoning “practical” for applications wherein we thought that the reasoner would be quite active at runtime, well, I still have trouble believing it. But it’s really quite obvious. It’s not just that you are building a taxonomically structured vocabulary, but that in these big medical situations, the stuff just isn’t very dynamic. Changes have to be curated.

I think this is a good thing to remember! It’s quite possible that you can get a lot of good use out of a langauge like OWL by focusing on the development/deployment distinction, and considering how using a reasoner might make your development process more robust and effective, rather than on how using a reasoner will require a hell of a lot more tuning than a database.

(This is not to say that there aren’t good apps that require and fruitfully use a reasoner at runtime, only that in Semantic Web circles I think we tend forget this other use pattern. I did.)

Comments are closed.