Theory
A graph is two things:
- Nodes — the things you talk about (people, books, cities, ideas).
- Edges — the typed relationships between them.
A table forces you to know every column up front: add a new kind of relationship and you have to alter the schema, migrate the data and redeploy the app. A graph has no fixed columns — every new fact is just one more edge with a label. The shape of your knowledge can grow freely as you learn more.
Key idea: in a graph, new relationship types can appear at any time without redesigning the schema.
Here is the contrast at a glance:
| Aspect | Table (relational) | Graph (RDF) |
|---|---|---|
| New relationship | Add a column or join table | Add one more edge with a new label |
| Schema up-front? | Yes — every column must exist | No — facts can show up any time |
| Meaning lives in | Column headers + foreign keys | The label on the edge itself |
| Cross-source merge | Painful (schema reconciliation) | Natural (shared IRIs glue graphs) |