Did you know ... Search Documentation:
Pack ape -- prolog/utils/drs_to_npace.pl
PublicShow source

In general we handle only those DRSs which contain only implications, but there is some support also for objects and predicates in the toplevel.

- Kaarel Kaljurand
- 2011-11-09


  • Support 'should' and 'may' (also in negation etc.)
  • DONE: Support for disjunction. Interaction between AND/OR. E.g. Every man works, and eats or sleeps.
  • We could use a reflexive pronoun if DeepSubj = DeepObj problem: himself/herself vs itself, no general reflexive pronoun exists (e.g. 'self').
  • Takes very long and fails: FIXED: Every man sees a dog that sees a cat and that sees a rat and sees a mouse that sees an ant.
  • If John waits then he sleeps. (not possible with 'every': Every John ...)
  • If there are 2 men then they wait. (not possible with 'every')
  • If there is a carnivore then everybody that it eats is an animal. (embedded if-then)
  • If a man waits then a dog barks. (no argument-sharing)
  • Every animal X hates an animal Y that eats X. (strange paraphrase but it is correct)
  • Anaphoric references and looping and new objects via definite NPs. (find an example!!!)
  • One idea was to fail whenever there are more than one solutions. Unfortunately this is almost always the case.

    Some notes relocated from the PhD draft:

  • Can some of the scope problems that Core ACE has be solved?
  • of-constructions and 'whose' and everybody's?
  • Loops: are there cases where we have to use a definite NP which contains a relative clause. Note: we can use variables.


  • ?- tnp("Every man who likes a dog which sees a rat hates a cat.").
  • ?- tnp('Every man who likes a dog hates a cat and sees a rat.').
  • ?- tnp('Every man who likes a dog is hated by a cat.').
  • ?- tnp("Every man who can see a dog is hated by a cat.").
 drs_to_npace(+Drs:drs, -AceSentenceList:list) is det
Drs- is an Attempto DRS
AceSentenceList- is a list of NP ACE sentences (atoms) corresponding to the DRS