Unified Perspective
By defining a narrow audience and subset of weaknesses, 7PK effectively unifies its perspective. 699 relies heavily on categories, with many different perspectives, to support different types of users. 1000 attempts to achieve a unified perspective, such as the intended omission of all categories and a focus on the core weakness in terms of its behaviors and resources. 1000 tries to omit attacks or consequences, although some consequences are treated as the last link in a chain. It also treats protection mechanism failures (CWE-693) as chaining relationships. For example, insufficient input validation (CWE-20) can lead to many issues such as SQL injection (CWE-89) and XSS (CWE-79), so in CWE-1000, these are chaining relationships instead of parent/child relationships. This approach also has the side effect of allowing modeling of other protection mechanism failures, such as insufficient output sanitization (CWE-116), which is a significant factor in SQL injection and XSS.
It should be noted that while 7PK presents a unified perspective, it is not viewed as unified with respect to 1000's model of the world. For example, 7PK's "input validation" kingdom specifies many issues as children such as SQL injection (CWE-89) and XSS (CWE-79). This practice is also followed in the Development view. However, input validation is treated as a protection mechanism within 1000, which is separated (through chaining relationships) from issues that could be fixed by input validation. Vulncat's perspective is not unified in the 1000 model, either; it has categories such as "Denial of Service" (which are consequences in 1000's model), "Log Forging" (an attack), and "Buffer Overflow: Off-by-One" (a chain).
Some specific consequences (e.g. NULL pointer dereference) are assigned CWE identifiers, but generally as the final link in a chain. Within CWE, a NULL dereference is always treated as the result of some other error, such as the failure to check an error condition. This approach ignores the pathological case in which a programmer directly provides the NULL constant as an argument (perhaps as a way to make a quick exit from an application).