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,…)