Designing a [[Knowledge Base]] requires matching the storage model to the type of [[Knowledge]] being captured. Mismatching the two is a primary cause of broken knowledge bases.
Structurally, a [[Knowledge Base]] HAS to follow the principles in [[Knowledge base HAS to be DAG]].