Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:important_concepts [2021/02/18 08:06] – [Description Logics, Classes, Instances, OWL, Prolog] daniel86doc:important_concepts [2022/03/31 08:26] (current) – [Description Logics, Classes, Instances, OWL, Prolog] sasjonge
Line 12: Line 12:
 KnowRob is implemented in [[http://www.swi-prolog.org|SWI Prolog]]. On the one hand, Prolog is used for loading, storing and reasoning on the knowledge which is represented in OWL. When OWL files are loaded into the system, they are internally stored as triples KnowRob is implemented in [[http://www.swi-prolog.org|SWI Prolog]]. On the one hand, Prolog is used for loading, storing and reasoning on the knowledge which is represented in OWL. When OWL files are loaded into the system, they are internally stored as triples
 <code> <code>
- rdf(Subject, Predicate, Object)+ triple(Subject, Predicate, Object)
 </code> </code>
  
-and can be accessed with special predicates, e.g. rdf_has(S, P, O). These predicates operate on the internal representation that is created from the OWL files and handle properties like transitivity of properties etc. On the other hand, Prolog is used as a programming language to implement specialized reasoning modules and to interface the knowledge base with external data.+and can be accessed with special predicates, e.g. holds(S, P, O). These predicates operate on the internal representation that is created from the OWL files and handle properties like transitivity of properties etc. On the other hand, Prolog is used as a programming language to implement specialized reasoning modules and to interface the knowledge base with external data.
  
 It is important to understand that KnowRob separates knowledge about the world (which is, as far as possible, represented in OWL) from implementation issues and deduction rules (which are implemented in plain Prolog). OWL's strict formal semantics, its typing and the existing reasoning methods are the main reasons for this separation. In order to profit from these properties, it is thus necessary that information which is read from external sources by Prolog predicates is transformed into a representation that is compatible to the OWL knowledge. It is important to understand that KnowRob separates knowledge about the world (which is, as far as possible, represented in OWL) from implementation issues and deduction rules (which are implemented in plain Prolog). OWL's strict formal semantics, its typing and the existing reasoning methods are the main reasons for this separation. In order to profit from these properties, it is thus necessary that information which is read from external sources by Prolog predicates is transformed into a representation that is compatible to the OWL knowledge.