Skip to content

Instantly share code, notes, and snippets.

@GirlBossRush
Last active March 15, 2025 20:27
Show Gist options
  • Save GirlBossRush/2b2c37c1cfc703fcb97c24838284f21c to your computer and use it in GitHub Desktop.
Save GirlBossRush/2b2c37c1cfc703fcb97c24838284f21c to your computer and use it in GitHub Desktop.

Who's On First Topology

Only the most common types

---
config:
  flowchart:
    defaultRenderer: elk
---
graph TD
  linkStyle default stroke-width: 5
  classDef common fill:#0066cc,stroke:#004d99,color:white,font-weight:bold
  classDef common_optional fill:#00cc66,stroke:#009933,color:white,font-weight:bold
  classDef optional fill:#ffcc00,stroke:#cca300,color:black,font-weight:bold
  planet --> continent:::common
  linkStyle 0 stroke:#0066cc
  planet --> country:::common
  linkStyle 1 stroke:#0066cc
  planet --> region:::common
  linkStyle 2 stroke:#0066cc
  planet --> locality:::common
  linkStyle 3 stroke:#0066cc
  planet --> neighbourhood:::common
  linkStyle 4 stroke:#0066cc
  continent --> country:::common
  country --> region:::common
  region --> locality:::common
  locality --> neighbourhood:::common
Loading

With optional types

---
config:
  flowchart:
    defaultRenderer: elk
---
graph TD
  linkStyle default stroke-width: 5
  classDef common fill:#0066cc,stroke:#004d99,color:white,font-weight:bold
  classDef common_optional fill:#00cc66,stroke:#009933,color:white,font-weight:bold
  classDef optional fill:#ffcc00,stroke:#cca300,color:black,font-weight:bold
  planet --> continent:::common
  linkStyle 0 stroke:#0066cc
  planet --> country:::common
  linkStyle 1 stroke:#0066cc
  planet --> region:::common
  linkStyle 2 stroke:#0066cc
  planet --> disputed:::common_optional
  linkStyle 3 stroke:#00cc66
  planet --> county:::common_optional
  linkStyle 4 stroke:#00cc66
  planet --> locality:::common
  linkStyle 5 stroke:#0066cc
  planet --> localadmin:::common_optional
  linkStyle 6 stroke:#00cc66
  planet --> neighbourhood:::common
  linkStyle 7 stroke:#0066cc
  planet --> borough:::common_optional
  linkStyle 8 stroke:#00cc66
  planet --> campus:::common_optional
  linkStyle 9 stroke:#00cc66
  planet --> address:::common_optional
  linkStyle 10 stroke:#00cc66
  planet --> building:::common_optional
  linkStyle 11 stroke:#00cc66
  planet --> venue:::common_optional
  linkStyle 12 stroke:#00cc66
  planet --> postalregion:::common_optional
  linkStyle 13 stroke:#00cc66
  planet --> postalcode:::common_optional
  linkStyle 14 stroke:#00cc66
  planet --> marinearea:::common_optional
  linkStyle 15 stroke:#00cc66
  planet --> timezone:::common_optional
  linkStyle 16 stroke:#00cc66
  planet --> empire:::common_optional
  linkStyle 17 stroke:#00cc66
  planet --> dependency:::common_optional
  linkStyle 18 stroke:#00cc66
  planet --> ocean:::common_optional
  linkStyle 19 stroke:#00cc66
  continent --> country:::common
  continent --> empire:::common_optional
  continent --> marinearea:::common_optional
  continent --> timezone:::common_optional
  country --> region:::common
  country --> disputed:::common_optional
  country --> marinearea:::common_optional
  country --> postalregion:::common_optional
  country --> timezone:::common_optional
  region --> county:::common_optional
  region --> locality:::common
  region --> localadmin:::common_optional
  region --> postalregion:::common_optional
  region --> postalcode:::common_optional
  disputed --> region:::common
  county --> locality:::common
  county --> localadmin:::common_optional
  county --> postalcode:::common_optional
  locality --> neighbourhood:::common
  locality --> borough:::common_optional
  locality --> campus:::common_optional
  locality --> postalcode:::common_optional
  localadmin --> locality:::common
  localadmin --> borough:::common_optional
  localadmin --> campus:::common_optional
  localadmin --> postalcode:::common_optional
  neighbourhood --> campus:::common_optional
  neighbourhood --> address:::common_optional
  neighbourhood --> building:::common_optional
  neighbourhood --> venue:::common_optional
  borough --> neighbourhood:::common
  campus --> address:::common_optional
  campus --> building:::common_optional
  campus --> venue:::common_optional
  address --> building:::common_optional
  address --> venue:::common_optional
  building --> venue:::common_optional
  postalregion --> postalcode:::common_optional
  empire --> country:::common
  empire --> dependency:::common_optional
  dependency --> region:::common
Loading

Country

---
config:
  flowchart:
    defaultRenderer: elk
---
graph TD
  linkStyle default stroke-width: 5
  classDef common fill:#0066cc,stroke:#004d99,color:white,font-weight:bold
  classDef common_optional fill:#00cc66,stroke:#009933,color:white,font-weight:bold
  classDef optional fill:#ffcc00,stroke:#cca300,color:black,font-weight:bold
  country --> macroregion:::optional
  linkStyle 0 stroke:#ffcc00
  country --> region:::common
  linkStyle 1 stroke:#0066cc
  country --> disputed:::common_optional
  linkStyle 2 stroke:#00cc66
  country --> postalregion:::common_optional
  linkStyle 3 stroke:#00cc66
  country --> county:::common_optional
  linkStyle 4 stroke:#00cc66
  country --> localadmin:::common_optional
  linkStyle 5 stroke:#00cc66
  country --> postalcode:::common_optional
  linkStyle 6 stroke:#00cc66
  country --> macrohood:::optional
  linkStyle 7 stroke:#ffcc00
  country --> neighbourhood:::common
  linkStyle 8 stroke:#0066cc
  country --> borough:::common_optional
  linkStyle 9 stroke:#00cc66
  country --> microhood:::optional
  linkStyle 10 stroke:#ffcc00
  country --> campus:::common_optional
  linkStyle 11 stroke:#00cc66
  country --> address:::common_optional
  linkStyle 12 stroke:#00cc66
  country --> building:::common_optional
  linkStyle 13 stroke:#00cc66
  country --> concourse:::optional
  linkStyle 14 stroke:#ffcc00
  country --> arcade:::optional
  linkStyle 15 stroke:#ffcc00
  country --> installation:::optional
  linkStyle 16 stroke:#ffcc00
  country --> enclosure:::optional
  linkStyle 17 stroke:#ffcc00
  country --> wing:::optional
  linkStyle 18 stroke:#ffcc00
  country --> intersection:::optional
  linkStyle 19 stroke:#ffcc00
  country --> venue:::common_optional
  linkStyle 20 stroke:#00cc66
  country --> locality:::common
  linkStyle 21 stroke:#0066cc
  country --> macrocounty:::optional
  linkStyle 22 stroke:#ffcc00
  country --> metroarea:::optional
  linkStyle 23 stroke:#ffcc00
  country --> marketarea:::optional
  linkStyle 24 stroke:#ffcc00
  country --> marinearea:::common_optional
  linkStyle 25 stroke:#00cc66
  country --> timezone:::common_optional
  linkStyle 26 stroke:#00cc66
  macroregion --> region:::common
  macroregion --> postalregion:::common_optional
  region --> county:::common_optional
  region --> locality:::common
  region --> localadmin:::common_optional
  region --> macrocounty:::optional
  region --> metroarea:::optional
  region --> postalregion:::common_optional
  region --> postalcode:::common_optional
  disputed --> macroregion:::optional
  disputed --> region:::common
  postalregion --> postalcode:::common_optional
  county --> locality:::common
  county --> localadmin:::common_optional
  county --> postalcode:::common_optional
  localadmin --> locality:::common
  localadmin --> borough:::common_optional
  localadmin --> campus:::common_optional
  localadmin --> postalcode:::common_optional
  macrohood --> neighbourhood:::common
  macrohood --> campus:::common_optional
  neighbourhood --> microhood:::optional
  neighbourhood --> campus:::common_optional
  neighbourhood --> intersection:::optional
  neighbourhood --> address:::common_optional
  neighbourhood --> building:::common_optional
  neighbourhood --> venue:::common_optional
  borough --> macrohood:::optional
  borough --> neighbourhood:::common
  microhood --> campus:::common_optional
  microhood --> intersection:::optional
  microhood --> address:::common_optional
  microhood --> building:::common_optional
  microhood --> venue:::common_optional
  campus --> intersection:::optional
  campus --> address:::common_optional
  campus --> building:::common_optional
  campus --> venue:::common_optional
  address --> building:::common_optional
  address --> venue:::common_optional
  building --> concourse:::optional
  building --> arcade:::optional
  building --> installation:::optional
  building --> wing:::optional
  building --> venue:::common_optional
  concourse --> arcade:::optional
  concourse --> installation:::optional
  concourse --> enclosure:::optional
  concourse --> venue:::common_optional
  arcade --> installation:::optional
  arcade --> enclosure:::optional
  arcade --> venue:::common_optional
  enclosure --> installation:::optional
  wing --> concourse:::optional
  wing --> arcade:::optional
  wing --> venue:::common_optional
  intersection --> address:::common_optional
  intersection --> building:::common_optional
  intersection --> venue:::common_optional
  venue --> installation:::optional
  venue --> enclosure:::optional
  locality --> macrohood:::optional
  locality --> neighbourhood:::common
  locality --> borough:::common_optional
  locality --> campus:::common_optional
  locality --> postalcode:::common_optional
  macrocounty --> county:::common_optional
Loading

Everything

---
config:
  flowchart:
    defaultRenderer: elk
---
graph TD
  linkStyle default stroke-width: 5
  classDef common fill:#0066cc,stroke:#004d99,color:white,font-weight:bold
  classDef common_optional fill:#00cc66,stroke:#009933,color:white,font-weight:bold
  classDef optional fill:#ffcc00,stroke:#cca300,color:black,font-weight:bold
  planet --> continent:::common
  linkStyle 0 stroke:#0066cc
  planet --> country:::common
  linkStyle 1 stroke:#0066cc
  planet --> macroregion:::optional
  linkStyle 2 stroke:#ffcc00
  planet --> region:::common
  linkStyle 3 stroke:#0066cc
  planet --> disputed:::common_optional
  linkStyle 4 stroke:#00cc66
  planet --> postalregion:::common_optional
  linkStyle 5 stroke:#00cc66
  planet --> county:::common_optional
  linkStyle 6 stroke:#00cc66
  planet --> locality:::common
  linkStyle 7 stroke:#0066cc
  planet --> localadmin:::common_optional
  linkStyle 8 stroke:#00cc66
  planet --> postalcode:::common_optional
  linkStyle 9 stroke:#00cc66
  planet --> macrohood:::optional
  linkStyle 10 stroke:#ffcc00
  planet --> neighbourhood:::common
  linkStyle 11 stroke:#0066cc
  planet --> borough:::common_optional
  linkStyle 12 stroke:#00cc66
  planet --> campus:::common_optional
  linkStyle 13 stroke:#00cc66
  planet --> address:::common_optional
  linkStyle 14 stroke:#00cc66
  planet --> building:::common_optional
  linkStyle 15 stroke:#00cc66
  planet --> arcade:::optional
  linkStyle 16 stroke:#ffcc00
  planet --> concourse:::optional
  linkStyle 17 stroke:#ffcc00
  planet --> installation:::optional
  linkStyle 18 stroke:#ffcc00
  planet --> enclosure:::optional
  linkStyle 19 stroke:#ffcc00
  planet --> wing:::optional
  linkStyle 20 stroke:#ffcc00
  planet --> microhood:::optional
  linkStyle 21 stroke:#ffcc00
  planet --> intersection:::optional
  linkStyle 22 stroke:#ffcc00
  planet --> venue:::common_optional
  linkStyle 23 stroke:#00cc66
  planet --> macrocounty:::optional
  linkStyle 24 stroke:#ffcc00
  planet --> metroarea:::optional
  linkStyle 25 stroke:#ffcc00
  planet --> marketarea:::optional
  linkStyle 26 stroke:#ffcc00
  planet --> nation:::optional
  linkStyle 27 stroke:#ffcc00
  planet --> marinearea:::common_optional
  linkStyle 28 stroke:#00cc66
  planet --> timezone:::common_optional
  linkStyle 29 stroke:#00cc66
  planet --> empire:::common_optional
  linkStyle 30 stroke:#00cc66
  planet --> dependency:::common_optional
  linkStyle 31 stroke:#00cc66
  planet --> custom:::optional
  linkStyle 32 stroke:#ffcc00
  planet --> ocean:::common_optional
  linkStyle 33 stroke:#00cc66
  continent --> nation:::optional
  continent --> country:::common
  continent --> empire:::common_optional
  continent --> marinearea:::common_optional
  continent --> timezone:::common_optional
  country --> macroregion:::optional
  country --> marketarea:::optional
  country --> metroarea:::optional
  country --> region:::common
  country --> disputed:::common_optional
  country --> marinearea:::common_optional
  country --> postalregion:::common_optional
  country --> timezone:::common_optional
  macroregion --> region:::common
  macroregion --> postalregion:::common_optional
  region --> county:::common_optional
  region --> locality:::common
  region --> localadmin:::common_optional
  region --> macrocounty:::optional
  region --> metroarea:::optional
  region --> postalregion:::common_optional
  region --> postalcode:::common_optional
  disputed --> macroregion:::optional
  disputed --> region:::common
  postalregion --> postalcode:::common_optional
  county --> locality:::common
  county --> localadmin:::common_optional
  county --> postalcode:::common_optional
  locality --> macrohood:::optional
  locality --> neighbourhood:::common
  locality --> borough:::common_optional
  locality --> campus:::common_optional
  locality --> postalcode:::common_optional
  localadmin --> locality:::common
  localadmin --> borough:::common_optional
  localadmin --> campus:::common_optional
  localadmin --> postalcode:::common_optional
  macrohood --> neighbourhood:::common
  macrohood --> campus:::common_optional
  neighbourhood --> microhood:::optional
  neighbourhood --> campus:::common_optional
  neighbourhood --> intersection:::optional
  neighbourhood --> address:::common_optional
  neighbourhood --> building:::common_optional
  neighbourhood --> venue:::common_optional
  borough --> macrohood:::optional
  borough --> neighbourhood:::common
  campus --> intersection:::optional
  campus --> address:::common_optional
  campus --> building:::common_optional
  campus --> venue:::common_optional
  address --> building:::common_optional
  address --> venue:::common_optional
  building --> arcade:::optional
  building --> concourse:::optional
  building --> installation:::optional
  building --> wing:::optional
  building --> venue:::common_optional
  arcade --> installation:::optional
  arcade --> enclosure:::optional
  arcade --> venue:::common_optional
  concourse --> arcade:::optional
  concourse --> installation:::optional
  concourse --> enclosure:::optional
  concourse --> venue:::common_optional
  enclosure --> installation:::optional
  wing --> arcade:::optional
  wing --> concourse:::optional
  wing --> venue:::common_optional
  microhood --> campus:::common_optional
  microhood --> intersection:::optional
  microhood --> address:::common_optional
  microhood --> building:::common_optional
  microhood --> venue:::common_optional
  intersection --> address:::common_optional
  intersection --> building:::common_optional
  intersection --> venue:::common_optional
  venue --> installation:::optional
  venue --> enclosure:::optional
  macrocounty --> county:::common_optional
  empire --> nation:::optional
  empire --> country:::common
  empire --> dependency:::common_optional
  dependency --> macroregion:::optional
  dependency --> region:::common
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment