- From: Bijan Parsia <bparsia@cs.man.ac.uk>
- Date: Tue, 16 Jan 2007 12:53:43 +0000
- To: public-owl-dev@w3.org
I forgot to forward this back in November, but it seems especially relevant now. Arity is an interesting new (or newly known :)) player in this space, and Peter indicated that they will at least be tracking the working group. This means that EL++ has at least two implementations (Arity's and CEL) and seems to be robustly scalable. Personally, I would find it very encouraging if the Prolog vendors (like Arity), between the RIF and NewWebOnt, turned their attention to supporting these languages. They have a reasonable user base (more than one might think!) and a lot of experience with complex applications and tool support. Cheers, Bijan. Begin forwarded message: > From: "Peter L. Gabel" <peter.gabel@arity.com> > Date: 20 November 2006 01:24:03 GMT > To: <bparsia@cs.man.ac.uk> > Cc: <alanruttenberg@gmail.com>, "'Pamela Schaepe'" > <pamela.schaepe@arity.com>, <horrocks@cs.man.ac.uk>, > <sattler@cs.man.ac.uk>, <carole@cs.man.ac.uk> > Subject: Arity's EL++ Implementation > > Bijan, > > Pamela Schaepe forwarded your name to me. I very much enjoyed > meeting Ian Horrocks, Uli Sattler, and Carole Goble at the ISWC. > > I wrote Arity’s EL++ reasoner. Arity has a long history (22 > years!) writing various description logic reasoners, mostly using > different forms of structural reasoning combined with a truth > maintenance system – roughly like Classic but with a very general > way to retract assertions incrementally. Most of the applications > that we build have elements of KR&R and NLP. > > Please feel free to ask me about our work. While some is > proprietary, there is much that I certainly can share. Here are a > few notes to get started: > > The EL++ reasoner was built in Arity/Prolog32 and is about 4000 > lines of commented code. It supports persistence and scales quite > well. I have not put a DIG interface on it but instead have > created an API which is a bit more convenient for embedding the > reasoner in our applications. It would be easy to put a DIG > interface on. The paper by Baader, Lutz and Suntisrivaraporn, Is > Tractable Reasoning in Extensions of the Description Logic EL > Useful in Practice? contains a toy ontology which would is > represented in my system as Prolog terms: > > 'Pericardium' < ['Tissue', e('contained_in','Heart')]. > > 'Pericarditis' < ['Inflammation', e('has_location','Pericardium')]. > > 'Inflammation' < ['Disease', e('acts_on','Tissue')]. > > 'Heart_disease' = ['Disease', e('has_location','Heart')]. > > 'Heart_disease' < e('has_state','Needs_treatment'). > > 'has_location' * 'contained_in' @< 'has_location'. > > They also provide some benchmarks. I have not formally compared > their system with mine (I have not even downloaded CEL) but I did > similar benchmark tests to what they describe and I have seen > similar performance to what they report. My benchmarks were run on > Windows XP on my laptop; probably roughly comparable to their test > environment. > > I have not paid much attention to optimizing my implementation – I > wrote it rather quickly as I needed to solve a larger problem where > EL++ reasoning was just one step. > > I have found that the limitations of the EL++ language are not too > much of a burden for many practical uses – but I miss universal > restrictions most. I have found that introducing the bottom > concept has been very useful (for disjointness and such) and there > are a few occasions where I have used nominals. The property > propagation of the role-value maps inEL++ was the main motivating > factor, of course. > > We are well along in our SROIQ reasoner. Parts of it are merely > being adapted from our earlier reasoners. Other parts are still > being debugged. We are now very distracted with some other major > development projects so sometimes it falls to a back burner. I > like to work on it as an escape from my real responsibilities. > (Ironic grin). > > Oh, I should also mention a strong affinity to Description Logic > Programming. We have of course played with implementing Datalog > (using Magic Sets, etc.) and we have often built meta-interpreters > and partial evaluator-based compilers. Most of our efforts here > have been directed to solving particular problems at hand rather > than creating a general solution approach. > > Regards, > > Peter > > > > Peter L. Gabel > President > Arity Corporation > 508.272.9947 > > > > 200 Friberg Parkway > Suite 4002 > Westborough, Ma 01581 > > > >
Received on Tuesday, 16 January 2007 12:53:27 UTC