Backward Queries

Many assertions in the Cyc® KB, especially rules, have the direction ":backward". This means that they are not considered at the time that new assertions are added to the KB, or during queries which do not have backchaining enabled. In this case only assertions with the direction :forward are considered.

The ASK facility allows the user to make a query backward by selecting Backchain Forever or selecting and entering a number of backchain steps under Backchaining Control in the Inference Parameters section. The default value is No Backchaining, meaning that the query will be forward. Entering an integer in the text field next to backchain steps specifies the maximum depth of axioms which can be considered by the inference engine when it is backchaining.

An example of a backward rule in the Cyc KB is:

               (#$isa ?U #$Person) 
               (#$spouse ?U ?X)) 
          (#$maritalStatus ?X #$Married))