The Closed World Assumption (CWA) is an extremely important concept in the database world, despite the fact that it isn’t usually spelled out explicitly. Basically what it says is this: Everything stated by the database, either explicitly or implicitly, is true; everything else is false. This presentation explains the CWA in detail and shows why it’s preferred over its rival, The Open World Assumption (OWA). In particular, it examines the claims, sometimes heard, to the effect that the database community operates under the CWA while the semantic web community operates under the OWA. It also explains how “missing information” can be handled without any need for nulls or three-valued logic.
The presentation is divided into four modules. Module I lays some important groundwork, discussing predicates and constraints in particular and stressing the importance of database consistency. Module II considers consistency in more detail and then discusses a simple example in depth, building to the conclusion that the OWA and the relational model are fundamentally and irrevocably at odds with each other (which is why in practice we always adopt the CWA). Module III then goes into more depth on predicates and shows how to get “don’t know” answers out of the database (when appropriate) without any need for nulls or three-valued logic (3VL). Finally, Module IV shows how the CWA can even be used in connection with predicates involving negation or conjunction.