Completeness (knowledge bases)

From Wikipedia, the free encyclopedia

The term completeness as applied to knowledge bases refers to two different concepts.

Formal logic[]

In formal logic, a knowledge base KB is complete if there is no formula α such that KB ⊭ α and KB ⊭ ¬α.

Example of knowledge base with incomplete knowledge:

KB := { A ∨ B }

Then we have KB ⊭ A and KB ⊭ ¬A.

In some cases, a consistent knowledge base can be made complete with the closed world assumption—that is, adding all not-entailed literals as negations to the knowledge base. In the above example though, this would not work because it would make the knowledge base inconsistent:

KB' = { A ∨ B, ¬A, ¬B }

In the case where KB := { P(a), Q(a), Q(b) }, KB ⊭ P(b) and KB ⊭ ¬P(b), so, with the closed world assumption, KB' = { P(a), ¬P(b), Q(a), Q(b) }, where KB' ⊨ ¬P(b).

Data management[]

In data management, completeness is metaknowledge that can be asserted for parts of the KB via completeness assertions.[1] [2]

As example, a knowledge base may contain complete information for predicates R and S, while nothing is asserted for predicate T. Then consider the following queries:

 Q1 :- R(x), S(x)
 Q2 :- R(x), T(x)

For Query 1, the knowledge base would return a complete answer, as only predicates that are themselves complete are intersected. For Query 2, no such conclusion could be made, as predicate T is potentially incomplete.

See also[]


  1. ^ Motro, 1989 (1989). "Integrity = Validity + Completeness". Cite journal requires |journal= (help)CS1 maint: numeric names: authors list (link)
  2. ^ Levy, Alon (1996). "Obtaining complete answers from incomplete databases". Cite journal requires |journal= (help)
Retrieved from ""