Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
faq [2013/02/12 17:41] – external edit 127.0.0.1 | faq [2013/04/22 08:32] (current) – admin | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== FAQ ====== | + | # |
- | + | ||
- | ===== How can I debug Prolog programs? ===== | + | |
- | There is a [[http:// | + | |
- | + | ||
- | + | ||
- | ===== Which programming 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: == | + | |
- | * Description language, no programming language | + | |
- | * Class taxonomy of objects, actions, events, | + | |
- | * Instances of these classes (e.g. environment models, experiences) | + | |
- | * Robot capabilities/ | + | |
- | + | ||
- | == Prolog: == | + | |
- | * Logical programming language: conceptually close to the knowledge representation, | + | |
- | * Useful for functionality interacting closely with the internal representation (OWL gets parsed into Prolog triples) | + | |
- | * Wrapper predicates to simplify commonly used queries, inference predicates (DL inference, computables, | + | |
- | * Functionality involving (recursive) search, graph matching, reasoning about ontological structure, ... | + | |
- | + | ||
- | == Java: == | + | |
- | * Object-oriented programming language that can interact with Prolog via the [[http:// | + | |
- | * Conceptually further away from the internal knowledge representation | + | |
- | * Good library support, therefore useful for external interfaces (WWW, ROS,...) and for integrating libraries (ProbCog, Weka, Visualization...) | + |