Chapter 17. The Properness Table
Every audit in this part ended with a column. This chapter assembles those columns into one table. No cell below is new; placing them side by side is. Each column header cites the chapter that scores it. The derived column cites two: Chapter 8, which proved it, and Chapter 16, which audited it. Its cells add a parenthetical citing the scoring result. The rows are the seven derived properties: R1–R3 on state, S1–S4 on architecture. ✓ is satisfied, ~ partial, ✗ failed. In the online edition every cell of the derived column links to its proposition.
| Property | Relational (13) | Property graph (15) | OOP/ORM (13) | XML stack (10) | JSON/REST (10) | SPA/JS (11) | Wasm (12) | GraphQL (14) | Derived stack (8, 16) |
|---|---|---|---|---|---|---|---|---|---|
| R1 | ✓ | ✓ | ~ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ (5.2, 5.4) |
| R2 | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✗ | ✓ (5.1) |
| R3 | ✗ | ✗ | ✗ | ~ | ✗ | ✗ | ✗ | ✗ | ✓ (5.3) |
| S1 | ✓ | ✓ | ✗ | ~ | ~ | ✗ | ✗ | ~ | ✓ (4.3) |
| S2 | ✓ | ~ | ✗ | ✓ | ✗ | ✗ | ✗ | ~ | ✓ (8.2) |
| S3 | ~ | ~ | ~ | ✓ | ~ | ✗ | ✗ | ~ | ✓ (8.2) |
| S4 | ✗ | ✗ | ✗ | ~ | ~ | ✗ | ✗ | ✗ | ✓ (4.3, 8.2) |
Notes, one per line where a cell needs it.
- XML’s R3 and S4 are
~for namespaces,xml:id, and fragment addressing, standardized slivers of the properties, largely unused (Ch 10). - GraphQL’s S2 is
~for a specified but prose-defined semantics. Its S1 is~:selectis genuinely separated, but every query is served from a single URL. S4 fails at that same URL: a query result has no URI of its own, so it cannot be linked or cached. - The property graph’s S2 is
~for GQL (2024): query standardized, transformation never (Ch 15). - SPA/JS is scored as Chapter 11 audited it, at its 2013 consolidated form. Chapter 14 revises S1 and S2 to
~as of 2026 and leaves the rest unchanged. That revision is Chapter 14’s finding, so the column keeps its 2013 values here. The 2026 deltas live in Chapter 14’s table.
Read the table by row rather than by column and the finding appears. R2 fails in every column but one: composition without coordination is the property nobody else has, and it is what the “world wide” in the name promises. Count the tildes and R3 and S4 join it: all three machine-spanning properties fail or fall partial everywhere but the derived column. R3 and S4 are the two that make an architecture the web rather than an app platform that happens to use browsers. Chapter 13 found the relational model, the best pre-web scorer, failing exactly the three machine-spanning properties (R2, R3, S4); Chapter 14 found the JavaScript convergence has recovered neither R3 nor S4. And each S-row failure appeared in this part twice: once as a score, once as a compensating industry.
One column has no failures, and Part II proved its model was forced. Those two facts are the book’s argument in a single table. Part V builds with that column.