  The fitting problem for conjunctive queries (CQs) is the problem to construct
a CQ that fits a given set of labeled data examples. When a fitting CQ exists,
it is in general not unique. This leads us to proposing natural refinements of
the notion of a fitting CQ, such as most-general fitting CQ, most-specific
fitting CQ, and unique fitting CQ. We give structural characterizations of
these notions in terms of (suitable refinements of) homomorphism dualities,
frontiers, and direct products, which enable the construction of the refined
fitting CQs when they exist. We also pinpoint the complexity of the associated
existence and verification problems, and determine the size of fitting CQs. We
study the same problems for UCQs and for the more restricted class of tree CQs.
