[Attempto] ACE Wiki questions: How to represent plans, possible extensions to punctuation and API, and implementing non-OWL rules

Tobias Kuhn t.kuhn at gmx.ch
Wed Nov 4 07:33:31 CET 2009


Hi Bill,

Sorry for the late reply.

Murray, William R wrote:
> You clearly explained the syntax allowed. It sounds like if I want to tie
> ACE Wiki into another system I'll have to delve into the code. I'm a bit 
> better with Prolog than Java. Can you explain how you decided to put which
> parts into Java and which parts into Prolog? E.g., I can imagine using Java
> for the GUI, servlet, and wiki parts and Prolog for the DRS, parsing, and logic parts of the code, but I don't think it's as simple as that. Also, where the part of the code would be that I'd have to change if I'd want to call out to other code once a contradiction was detected? Presumably, this is where you change font color to red for contradictions in ACE Wiki.

APE (the ACE parser) is fully implemented in Prolog (i.e. SWI Prolog). AceWiki is fully implemented 
in Java but connects to the compiled version of APE. Furthermore, the grammar that is used by the 
predictive editor of AceWiki is defined in a Prolog-based notation, which is translated into Java at 
compile time. In the case of AceRules, the interface is implemented in Java, but the rule engine is 
in Prolog.

In the AceWiki code, contraditions are detected in the method "commitSentence" of the "Ontology" class:

http://attempto.ifi.uzh.ch/site/docs/java/ch/uzh/ifi/attempto/acewiki/core/ontology/Ontology.html#commitSentence%28ch.uzh.ifi.attempto.acewiki.core.ontology.Sentence%29

That's where you should start in order to change the behavior when contradictions are found.


By the way, there will be a new release of the Attempto Java Packages soon. In November or December 
or so. Internally, there have been quite some changes which should make the whole grammar/predictive 
editor machinery more powerful and more reusable. At the moment, however, the code is a mess and I 
need to clean it up first.


Tobias


More information about the attempto mailing list