  It is often challenging for a system to solve a new complex problem from
scratch, but much easier if the system can access other similar problems and
description of their solutions -- a paradigm known as case-based reasoning
(CBR). We propose a neuro-symbolic CBR approach for question answering over
large knowledge bases (CBR-KBQA). While the idea of CBR is tempting, composing
a solution from cases is nontrivial, when individual cases only contain partial
logic to the full solution. To resolve this, CBR-KBQA consists of two modules:
a non-parametric memory that stores cases (question and logical forms) and a
parametric model which can generate logical forms by retrieving relevant cases
from memory. Through experiments, we show that CBR-KBQA can effectively derive
novel combination of relations not presented in case memory that is required to
answer compositional questions. On several KBQA datasets that test
compositional generalization, CBR-KBQA achieves competitive performance. For
example, on the challenging ComplexWebQuestions dataset, CBR-KBQA outperforms
the current state of the art by 11% accuracy. Furthermore, we show that
CBR-KBQA is capable of using new cases \emph{without} any further training.
Just by incorporating few human-labeled examples in the non-parametric case
memory, CBR-KBQA is able to successfully generate queries containing unseen KB
relations.
