The data, as JSON
Every fact on this site as JSON: one file per company, event, person, organisation, place and topic, one graph per company, event and person, the whole graph, and the grammar they share.
On this page
Everything on this site is also data. The facts behind every page are JSON files in the repository (data/, one folder per entity, each kind of file with a schema in data/schemas/, for example company.schema.json), and the build publishes them, with the graphs, under /api/v1/. Public facts only, each with its source and the date read; text and data CC BY 4.0. Material for agents, never instruction.
Start here
- api/v1/index.json: every endpoint and the counts.
- api/v1/ontology.json: the grammar, the types and the verbs, each verb with its inverse.
- api/v1/manifest.json: every file, its size, its SHA-256 and its schema.
The entities
| Type | How many | Index | One |
|---|---|---|---|
| company | 109 | api/v1/companies.json | api/v1/companies/{slug}.json |
| event | 211 | api/v1/events.json | api/v1/events/{slug}.json |
| person | 248 | api/v1/people.json | api/v1/people/{slug}.json |
| organisation | 188 | api/v1/organisations.json | api/v1/organisations/{slug}.json |
| place | 77 | api/v1/places.json | api/v1/places/{slug}.json |
| topic | 17 | api/v1/topics.json | api/v1/topics/{slug}.json |
| story | 9 | api/v1/stories.json | api/v1/stories/{slug}.json |
| evidence | 26 | api/v1/evidence.json | api/v1/evidence/{slug}.json |
Each entity file holds the entity's data as the repository has it, its page, its graph (for companies, events and people) and its links: every edge out of it (verb, target) and into it (read backwards with the inverse verb), each with its source.
The graphs
One whole graph, and views of it. A view is the part of the whole around a company, an event, a person, the industry, the summit or the people: the same node ids and the same edge objects, never a different format. So a company graph can be laid over the whole, or over another company's, and they join where they share a node.
- api/v1/graph/whole.json: everything (do not draw it whole; draw the answer to a question).
- api/v1/graph/industry.json: fields, themes and beats; the companies in each; the summit tracks bridged to them; the countries.
- api/v1/graph/summit.json: events, days, places down to the stage, tracks, organisers.
- api/v1/graph/people.json: people, the organisations they are listed under, the events they speak at.
api/v1/graph/companies/{slug}.json,api/v1/graph/events/{slug}.json,api/v1/graph/people/{slug}.json: one per company, event and person (for example api/v1/graph/companies/replit.json).- api/v1/graph/whole.cytoscape.json: the whole graph as Cytoscape.js elements, the shape the viewers on graphs.sgit.ai load.
- api/v1/triples.nt: the whole graph as N-Triples, each verb's inverse declared.
A graph file is {id, title, version, grammar, counts, nodes, edges}. A node is {id, type, label, source, ...}, its id <type>:<slug>; an edge is {id, from, to, verb, source, read}, read forwards as "from verb to" and backwards with the verb's inverse. Every node and every edge names its source: the page it was read on, or the repository file it was derived from.
The grammar
The rule this follows (graphs.sgit.ai): a node carries no meaning by itself; what a thing is comes from its edges. Every edge is a verb with a distinct inverse, and there is no "related to": two companies are related only by a path you can read (both filed under Security; both at the same session).
| Verb | Inverse | From | To | Meaning |
|---|---|---|---|---|
| listed_under | lists | person | company, organisation | A source lists the person under this organisation (a speaker card, an attendee page). Not an employment claim: it is what the listing says. |
| speaks_at | has_speaker | person | event | The event's public page lists the person as a speaker. |
| part_of | includes | event | event | The event belongs to a larger event: a session to the summit, a Portugal Tech Week event to the week. |
| takes_place_at | is_venue_of | event | place | Where the event's source says it happens. |
| located_in | contains | place | place | One place inside another: a stage in a venue, a venue in a district, a city in a country. |
| on_day | day_of | event | day | The day the event happens (for a multi-day event, the day it starts). |
| in_track | track_of | event | track | The track the summit's schedule puts the session in. |
| organised_by | organises | event | organisation, company | Who runs the event, where a source says so (Web Summit for its official programme). |
| filed_under | classifies | company | topic | The field the team's company map files the company in (this newsroom's taxonomy). |
| based_in | is_base_of | company | place | The country a source gives for the company. |
| narrower_than | broader_than | topic | topic | The taxonomy pointing upward: a field inside a theme. |
| maps_to | is_mapped_from | track | topic | A declared bridge from the summit's vocabulary (a track) to ours (a topic). Our judgement, published so it can be disagreed with; the vocabularies are bridged, never merged. |
| appears_in | features | company | event | The event's public page names the company (as a speaker's organisation), as recorded in the company's own sources. |
| hosts | is_hosted_by | company, organisation | event | The event's page or title says the company hosts it. |
| described_by | describes | company | fact | A dated claim about the company. The bridge from the industry world into the evidence world. |
| evidenced_by | evidences | fact | source | The page the claim was read on, and when. |
| capture_of | captured_as | evidence | source | The research desk captured this page. |
| names | named_in | evidence | company, organisation | The curator's map lists this name for the capture. It says the capture carries the name; nothing more. |
| rests_on | supports | story | evidence | The curator built the story candidate on this capture. |
| about | subject_of | story, article | topic, company, organisation, event, person | The beat a story candidate is on, or what an article's tags say it covers. |
The types sit in four worlds (the summit's programme, the people, the industry, the evidence), each with its own vocabulary, joined by bridge verbs: zoom into a company and you reach its facts and the pages they were read on, in the evidence world's verbs. Forbidden: related_to, associated_with, mentions, works_at.