- 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