This is an old revision of the document!
FAQ
Which language should I use for what purpose?
KnowRob is implemented in a combination of OWL, Prolog and Java. When creating extensions, it is worth considering which language to implement them in:
OWL:
- Class taxonomy of objects, actions, events,…
- Instances of these classes (e.g. environment models, experiences)
- Robot capabilities/action requirements\
Prolog:
- Internal representation (OWL parsed into Prolog triples)
- Query language
- Inference predicates (DL inference, computables,…)
Java:
- External interfaces (WWW, ROS,…)
- Library integration (ProbCog, Weka,…)