Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
faq [2012/12/01 09:50] – created tenorth | faq [2013/02/12 17:41] – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== FAQ ====== | ====== FAQ ====== | ||
+ | ===== How can I debug Prolog programs? ===== | ||
+ | There is a [[http:// | ||
- | ===== Which language should I use for what purpose? ===== | + | |
+ | ===== Which programming | ||
KnowRob is implemented in a combination of OWL, Prolog and Java. When creating extensions, it is worth considering which language to implement them in: | 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: == | == OWL: == | ||
+ | * Description language, no programming language | ||
* Class taxonomy of objects, actions, events,... | * Class taxonomy of objects, actions, events,... | ||
* Instances of these classes (e.g. environment models, experiences) | * Instances of these classes (e.g. environment models, experiences) | ||
- | * Robot capabilities/ | + | * Robot capabilities/ |
== Prolog: == | == Prolog: == | ||
- | * Internal | + | * Logical programming language: conceptually close to the knowledge representation, |
- | * Query language | + | * Useful for functionality interacting closely with the internal |
- | * Inference | + | * Wrapper predicates to simplify commonly used queries, inference |
+ | * Functionality involving (recursive) search, graph matching, reasoning about ontological structure, ... | ||
== Java: == | == Java: == | ||
- | * External | + | * Object-oriented programming language that can interact with Prolog via the [[http:// |
- | * Library integration | + | * Conceptually further away from the internal knowledge representation |
+ | * Good library support, therefore useful for external | ||