Fwd: Arity's EL++ Implementation

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