Well, usually you have to write quite a lot of code to be able to answer such natural language questions.
For university I'm currently writing something similar (with Prolog), its basically a pipeline that goes something like this: (1) natural language -> (2) syntax tree -> (3) annotate syntax tree with logical (in my case, lambda) terms that represent the semantics -> (4) use semantics to query knowledge base.
(2) requires you to write a grammar, which is a lot of work, even for a very limited subset of your target language. (3) is even harder, for every term and grammatical construction that you want to be able to parse, you have to write rules that translate the semantics into something the computer understands. And (4) is quite time-consuming as well, since you have to translate your knowledge into something that the computer can understand (in my case, logical terms).
From what I can understand, this system allows you to skip (2), (3) and (4) i.e. you just feed the system your facts and questions and it will perform the reasoning by itself, no more hand-written rules. Basically, you feed it only natural language (easy to do, even for untrained people!) and it does the rest on its own. Which is a huge timesaver, obviously :-)