SPB Git forge
28commits 1branches 0releases
7.7 MBsize
maindefault branch
10 days agolast push
Python 66.3% TypeScript 22.7% JavaScript 8.6% HTML 1.4% CSS 0.7%
13.1 KB · 379 lines markdown
Rendered Raw Blame History
1# Seed registry — Wikidata harvest23Generated by `scripts/seed_wikidata.py` on 2026-09-13T07:17:29+00:00. **32368 companies**, 13209 public (40.8 %), 12781 with a stock exchange, 10969 with a ticker, 4364 with an employee count, 5294 without an industry mapping (16.4 %), 206 countries.45Files: one NDJSON per UN region (`wikidata-<region>.ndjson`), one JSON object per line — see `docs/SEEDS.md` for the schema, the diversification rules and how to add companies. `scripts/seed_edgar.py` rewrites the files in place with SEC data; run it after every `assemble`.67## Tiers89| Tier | Companies |10|---|---|11| 1 (global) | 324 |12| 2 (major) | 2159 |13| 3 (notable) | 8633 |14| 4 (long tail) | 21252 |1516## Regions1718| Region | Companies |19|---|---|20| Europe | 11795 |21| Asia | 10334 |22| Americas | 8032 |23| other | 990 |24| Africa | 641 |25| Oceania | 576 |2627## Countries2829| Code | Country | Companies | Share |30|---|---|---|---|31| US | United States | 6285 | 19.4 % |32| JP | Japan | 3382 | 10.4 % |33| DE | Germany | 2310 | 7.1 % |34| GB | United Kingdom | 1548 | 4.8 % |35| CN | China | 1374 | 4.2 % |36| ?? | unknown | 990 | 3.1 % |37| MY | Malaysia | 869 | 2.7 % |38| KR | South Korea | 846 | 2.6 % |39| IT | Italy | 844 | 2.6 % |40| RU | Russia | 751 | 2.3 % |41| ID | Indonesia | 731 | 2.3 % |42| CA | Canada | 723 | 2.2 % |43| IL | Israel | 696 | 2.2 % |44| ES | Spain | 551 | 1.7 % |45| CH | Switzerland | 545 | 1.7 % |46| FR | France | 533 | 1.6 % |47| SE | Sweden | 495 | 1.5 % |48| AU | Australia | 473 | 1.5 % |49| NL | Netherlands | 441 | 1.4 % |50| IN | India | 436 | 1.3 % |51| PL | Poland | 423 | 1.3 % |52| NO | Norway | 391 | 1.2 % |53| BR | Brazil | 388 | 1.2 % |54| TW | Taiwan | 326 | 1.0 % |55| FI | Finland | 300 | 0.9 % |56| AT | Austria | 284 | 0.9 % |57| DK | Denmark | 283 | 0.9 % |58| BE | Belgium | 280 | 0.9 % |59| UA | Ukraine | 252 | 0.8 % |60| CZ | Czechia | 208 | 0.6 % |61| TR | Türkiye | 185 | 0.6 % |62| SA | Saudi Arabia | 181 | 0.6 % |63| TH | Thailand | 130 | 0.4 % |64| NP | Nepal | 127 | 0.4 % |65| MX | Mexico | 126 | 0.4 % |66| IR | Iran | 113 | 0.3 % |67| RO | Romania | 111 | 0.3 % |68| BY | Belarus | 111 | 0.3 % |69| AR | Argentina | 111 | 0.3 % |70| ZA | South Africa | 108 | 0.3 % |71| PT | Portugal | 104 | 0.3 % |72| IE | Ireland | 94 | 0.3 % |73| CL | Chile | 92 | 0.3 % |74| GR | Greece | 89 | 0.3 % |75| PH | Philippines | 84 | 0.3 % |76| NZ | New Zealand | 81 | 0.3 % |77| SG | Singapore | 78 | 0.2 % |78| EE | Estonia | 78 | 0.2 % |79| AE | United Arab Emirates | 77 | 0.2 % |80| HK | Hong Kong | 77 | 0.2 % |81| HR | Croatia | 72 | 0.2 % |82| HU | Hungary | 72 | 0.2 % |83| LT | Lithuania | 69 | 0.2 % |84| NG | Nigeria | 67 | 0.2 % |85| LV | Latvia | 65 | 0.2 % |86| PK | Pakistan | 62 | 0.2 % |87| EG | Egypt | 61 | 0.2 % |88| LU | Luxembourg | 59 | 0.2 % |89| RS | Serbia | 59 | 0.2 % |90| SK | Slovakia | 57 | 0.2 % |91| CO | Colombia | 53 | 0.2 % |92| SI | Slovenia | 48 | 0.1 % |93| VN | Vietnam | 47 | 0.1 % |94| KZ | Kazakhstan | 45 | 0.1 % |95| BG | Bulgaria | 45 | 0.1 % |96| MA | Morocco | 45 | 0.1 % |97| VE | Venezuela | 45 | 0.1 % |98| AZ | Azerbaijan | 44 | 0.1 % |99| LK | Sri Lanka | 43 | 0.1 % |100| IS | Iceland | 38 | 0.1 % |101| TN | Tunisia | 36 | 0.1 % |102| BD | Bangladesh | 35 | 0.1 % |103| UZ | Uzbekistan | 34 | 0.1 % |104| AM | Armenia | 33 | 0.1 % |105| PE | Peru | 31 | 0.1 % |106| DZ | Algeria | 29 | 0.1 % |107| MD | Moldova | 27 | 0.1 % |108| MT | Malta | 26 | 0.1 % |109| KE | Kenya | 25 | 0.1 % |110| BM | Bermuda | 24 | 0.1 % |111| AL | Albania | 23 | 0.1 % |112| CY | Cyprus | 22 | 0.1 % |113| QA | Qatar | 22 | 0.1 % |114| GE | Georgia | 20 | 0.1 % |115| JO | Jordan | 20 | 0.1 % |116| GH | Ghana | 20 | 0.1 % |117| BA | Bosnia and Herzegovina | 20 | 0.1 % |118| SY | Syria | 19 | 0.1 % |119| KW | Kuwait | 19 | 0.1 % |120| LY | Libya | 17 | 0.1 % |121| BO | Bolivia | 16 | 0.0 % |122| BH | Bahrain | 16 | 0.0 % |123| CD | DR Congo | 16 | 0.0 % |124| UG | Uganda | 16 | 0.0 % |125| AO | Angola | 15 | 0.0 % |126| UY | Uruguay | 15 | 0.0 % |127| MN | Mongolia | 15 | 0.0 % |128| ME | Montenegro | 14 | 0.0 % |129| TZ | Tanzania | 14 | 0.0 % |130| DO | Dominican Republic | 14 | 0.0 % |131| IQ | Iraq | 13 | 0.0 % |132| SD | Sudan | 13 | 0.0 % |133| CM | Cameroon | 13 | 0.0 % |134| KY | Cayman Islands | 12 | 0.0 % |135| LB | Lebanon | 12 | 0.0 % |136| NA | Namibia | 12 | 0.0 % |137| KH | Cambodia | 12 | 0.0 % |138| FO | Faroe Islands | 11 | 0.0 % |139| GL | Greenland | 11 | 0.0 % |140| MM | Myanmar | 11 | 0.0 % |141| OM | Oman | 10 | 0.0 % |142| AF | Afghanistan | 10 | 0.0 % |143| JE | Jersey | 8 | 0.0 % |144| LI | Liechtenstein | 8 | 0.0 % |145| MK | North Macedonia | 8 | 0.0 % |146| CV | Cabo Verde | 8 | 0.0 % |147| PS | Palestine | 8 | 0.0 % |148| GA | Gabon | 8 | 0.0 % |149| TM | Turkmenistan | 7 | 0.0 % |150| XK | Kosovo | 7 | 0.0 % |151| RW | Rwanda | 7 | 0.0 % |152| TJ | Tajikistan | 7 | 0.0 % |153| BW | Botswana | 7 | 0.0 % |154| NE | Niger | 7 | 0.0 % |155| CR | Costa Rica | 7 | 0.0 % |156| KP | North Korea | 6 | 0.0 % |157| ET | Ethiopia | 6 | 0.0 % |158| JM | Jamaica | 6 | 0.0 % |159| CU | Cuba | 6 | 0.0 % |160| MZ | Mozambique | 6 | 0.0 % |161| GG | Guernsey | 6 | 0.0 % |162| SR | Suriname | 6 | 0.0 % |163| SO | Somalia | 6 | 0.0 % |164| MV | Maldives | 6 | 0.0 % |165| HT | Haiti | 6 | 0.0 % |166| MC | Monaco | 6 | 0.0 % |167| EC | Ecuador | 6 | 0.0 % |168| SM | San Marino | 6 | 0.0 % |169| CW | Curaçao | 5 | 0.0 % |170| ZW | Zimbabwe | 5 | 0.0 % |171| TT | Trinidad and Tobago | 5 | 0.0 % |172| BS | Bahamas | 5 | 0.0 % |173| ZM | Zambia | 5 | 0.0 % |174| GQ | Equatorial Guinea | 5 | 0.0 % |175| ML | Mali | 5 | 0.0 % |176| HN | Honduras | 5 | 0.0 % |177| IM | Isle of Man | 4 | 0.0 % |178| PA | Panama | 4 | 0.0 % |179| SC | Seychelles | 4 | 0.0 % |180| VA | Vatican City | 4 | 0.0 % |181| MU | Mauritius | 4 | 0.0 % |182| BN | Brunei | 4 | 0.0 % |183| FJ | Fiji | 4 | 0.0 % |184| MG | Madagascar | 4 | 0.0 % |185| LA | Laos | 4 | 0.0 % |186| BT | Bhutan | 4 | 0.0 % |187| AD | Andorra | 4 | 0.0 % |188| CI | Côte d'Ivoire | 4 | 0.0 % |189| MR | Mauritania | 4 | 0.0 % |190| CG | Republic of the Congo | 4 | 0.0 % |191| KG | Kyrgyzstan | 4 | 0.0 % |192| SN | Senegal | 4 | 0.0 % |193| GT | Guatemala | 4 | 0.0 % |194| TL | Timor-Leste | 4 | 0.0 % |195| BJ | Benin | 4 | 0.0 % |196| GI | Gibraltar | 3 | 0.0 % |197| TG | Togo | 3 | 0.0 % |198| PG | Papua New Guinea | 3 | 0.0 % |199| YE | Yemen | 3 | 0.0 % |200| DJ | Djibouti | 3 | 0.0 % |201| MH | Marshall Islands | 3 | 0.0 % |202| WS | Samoa | 3 | 0.0 % |203| BZ | Belize | 3 | 0.0 % |204| MW | Malawi | 3 | 0.0 % |205| AW | Aruba | 3 | 0.0 % |206| ER | Eritrea | 2 | 0.0 % |207| KI | Kiribati | 2 | 0.0 % |208| ST | Sao Tome and Principe | 2 | 0.0 % |209| KM | Comoros | 2 | 0.0 % |210| TO | Tonga | 2 | 0.0 % |211| NI | Nicaragua | 2 | 0.0 % |212| SZ | Eswatini | 2 | 0.0 % |213| BI | Burundi | 2 | 0.0 % |214| VC | Saint Vincent and the Grenadines | 2 | 0.0 % |215| PR | Puerto Rico | 2 | 0.0 % |216| PY | Paraguay | 2 | 0.0 % |217| GM | Gambia | 2 | 0.0 % |218| AG | Antigua and Barbuda | 1 | 0.0 % |219| NR | Nauru | 1 | 0.0 % |220| BF | Burkina Faso | 1 | 0.0 % |221| MO | Macao | 1 | 0.0 % |222| VU | Vanuatu | 1 | 0.0 % |223| CK | Cook Islands | 1 | 0.0 % |224| SB | Solomon Islands | 1 | 0.0 % |225| SX | Sint Maarten | 1 | 0.0 % |226| TC | Turks and Caicos Islands | 1 | 0.0 % |227| PW | Palau | 1 | 0.0 % |228| CF | Central African Republic | 1 | 0.0 % |229| GY | Guyana | 1 | 0.0 % |230| FK | Falkland Islands | 1 | 0.0 % |231| BB | Barbados | 1 | 0.0 % |232| SL | Sierra Leone | 1 | 0.0 % |233| SH | Saint Helena | 1 | 0.0 % |234| GN | Guinea | 1 | 0.0 % |235| GW | Guinea-Bissau | 1 | 0.0 % |236| SV | El Salvador | 1 | 0.0 % |237238## Stock exchanges (primary listing kept per company)239240| Exchange | Companies |241|---|---|242| Tokyo Stock Exchange | 1956 |243| Nasdaq | 1569 |244| New York Stock Exchange | 1562 |245| Bursa Malaysia | 780 |246| Indonesia Stock Exchange | 630 |247| Hong Kong Stock Exchange | 620 |248| Tel Aviv Stock Exchange | 532 |249| London Stock Exchange | 477 |250| Korea Exchange (Stock Market) | 368 |251| Australian Securities Exchange | 294 |252| Toronto Stock Exchange | 288 |253| Shenzhen Stock Exchange | 276 |254| Shanghai Stock Exchange | 275 |255| Warsaw Stock Exchange | 234 |256| OTC Markets Group | 222 |257| São Paulo Stock Exchange | 220 |258| National Stock Exchange of India | 162 |259| Saudi Stock Exchange | 152 |260| Korean Stock Exchange | 141 |261| Oslo Stock Exchange | 126 |262| Moscow Exchange | 117 |263| Taiwan Stock Exchange | 115 |264| Nepal Stock Exchange | 105 |265| Frankfurt Stock Exchange | 103 |266| Euronext Paris | 98 |267| Nasdaq Copenhagen A/S | 84 |268| Stock Exchange of Thailand | 80 |269| Nasdaq Helsinki Ltd | 72 |270| Nasdaq Stockholm AB | 61 |271| Italian Stock Exchange | 49 |272| Tehran Stock Exchange | 48 |273| KOSDAQ | 47 |274| Madrid Stock Exchange | 40 |275| BME Scaleup | 40 |276| Swiss Stock Exchange | 36 |277| Santiago Stock Exchange | 32 |278| Colombo Stock Exchange | 28 |279| Tokyo Stock Exchange-Tokyo Pro Market | 28 |280| Euronext Brussels | 27 |281| Zagreb Stock Exchange | 26 |282283## Top-level industries (a company counts once per top-level sector)284285| Industry | Companies |286|---|---|287| Media | 4707 |288| Consumer Goods | 3164 |289| Financial Services | 3081 |290| Transportation | 2957 |291| Technology | 2409 |292| Manufacturing | 2114 |293| Retail | 1539 |294| Energy | 1321 |295| Automotive | 1111 |296| Healthcare | 987 |297| Aerospace & Defense | 826 |298| Telecommunications | 792 |299| Mining & Metals | 765 |300| Construction | 664 |301| Professional Services | 533 |302| Real Estate | 432 |303| Chemicals | 413 |304| Hospitality | 308 |305| Materials | 263 |306| Agriculture | 262 |307| Utilities | 251 |308| Travel & Tourism | 210 |309| Education | 173 |310311## All industries312313| Slug | Companies |314|---|---|315| food-beverage | 1971 |316| media | 1943 |317| entertainment | 1885 |318| manufacturing | 1722 |319| financial-services | 1672 |320| retail | 1539 |321| transportation | 1255 |322| airlines | 1232 |323| technology | 1198 |324| automotive | 1111 |325| gaming | 1017 |326| banking | 826 |327| telecommunications | 792 |328| mining | 765 |329| consumer-goods | 758 |330| construction | 664 |331| energy | 647 |332| oil-gas | 610 |333| aerospace-defense | 575 |334| software | 561 |335| apparel | 542 |336| asset-management | 536 |337| pharmaceuticals | 445 |338| real-estate | 432 |339| professional-services | 430 |340| chemicals | 413 |341| industrial-machinery | 388 |342| insurance | 387 |343| logistics | 372 |344| hospitality | 308 |345| healthcare | 307 |346| internet | 302 |347| defense | 297 |348| materials | 263 |349| agriculture | 262 |350| utilities | 251 |351| travel | 210 |352| biotechnology | 208 |353| shipping | 200 |354| education | 173 |355| semiconductors | 161 |356| e-commerce | 153 |357| renewables | 114 |358| consulting | 109 |359| fintech | 84 |360| cloud-infrastructure | 75 |361| medical-devices | 74 |362| cybersecurity | 73 |363| artificial-intelligence | 59 |364| robotics | 43 |365| payments | 37 |366367## Harvest report — 2026-09-13368369* Pipeline: `scripts/seed_wikidata.py all --target N` (candidates → dissolved → select → details → assemble), then `scripts/seed_edgar.py`, then `catlas seed`. Every SPARQL result is cached under `data/seed/wikidata/sparql/`; per-stage counters in `data/seed/harvest-stats.json`.370* Candidates: **51,286** unique items with a website from 44 P31 classes × sitelink bands (≥ 3), 250 stock exchanges scanned in 13 P414 queries (13,541 currently listed), employees ≥ 500 / revenue bands per class, plus country and industry boosts. First seen per band: class 39,684, listed 7,664, revenue 1,748, employees 1,723, industry-boost 354, country-boost 103, ticker 10.371* Dissolved check (P576 / P582, 171 queries of 300 QIDs): 3,580 of 51,286 candidates excluded.372* Prefilter: 89 generic / invalid websites dropped, 1,639 duplicate registrable domains (highest sitelinks kept), 45,978 kept (12,935 listed).373* Selection (target 33,000; caps US ≤ 35%, other countries ≤ 12%, unknown country ≤ 3%, narrow classes 2–5 %): country minimums 2,160, then 11,964 listed companies, then 18,876 by sitelinks ≥ 3; 12,791 listed companies selected in total.374* Non-company exclusion: **652 items removed** — 515 for a non-company P31 class (museums, libraries, universities / schools, government agencies, NGOs / charities / foundations / nonprofits, religious organisations, political parties, trade unions, hospitals, sports clubs, YouTube channels; top: nonprofit organization 170, government agency 40, university 30, museum 27, learned society 20, public university 20, non-governmental organization 19, charitable organization 18, association football club 15, educational institution 14, hospital 13, library 11) and 137 for a description matching museum / university / school / ministry / agency / charity / foundation / association / club / church / channel with no ticker, exchange, employee count or revenue. Items with a current listing or a ticker are always kept (listed football clubs). List: `data/seed/dropped.json`.375* Assemble: 33,000 selected companies with details + 0 from the industry top-up (every top-level industry ≥ 60); 0 subsidiaries sharing their parent's domain and 0 duplicate domains dropped; 1,458 `related_domain_conflict` notes → **32,368 companies**.376* Tiers by importance quantile (1% / 6.67% / 26.67%): tier 1 = ranks 1–324, tier 2 → 2,483, tier 3 → 11,116, tier 4 = rest.377* Country minimums: all met (JP 3382, DE 2310, GB 1548, CN 1374, KR 846, IT 844, ID 731, CA 723 …).378* EDGAR (2026-09-13): 920 companies newly matched to a CIK (ticker, then exact normalised name), 2,543 already had one → 3,463 of 32,368 with a SEC CIK; 1,319 rows enriched, 202 industries from SIC (5,092 still without an industry mapping), 816 submissions JSON read.379