# 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.

*Source: <https://web-summit.newsroom.sgit.ai/api/index.html> · site v0.1.12 · generated from the same content as the page, so the two cannot drift.*

---

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](../data/schemas/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 {#start}

- [api/v1/index.json](v1/index.json): every endpoint and the counts.
- [api/v1/ontology.json](v1/ontology.json): the grammar, the types and the verbs, each verb with its inverse.
- [api/v1/manifest.json](v1/manifest.json): every file, its size, its SHA-256 and its schema.

## The entities {#entities}

| Type | How many | Index | One |
|---|---|---|---|
| company | 109 | [api/v1/companies.json](v1/companies.json) | `api/v1/companies/{slug}.json` |
| event | 211 | [api/v1/events.json](v1/events.json) | `api/v1/events/{slug}.json` |
| person | 248 | [api/v1/people.json](v1/people.json) | `api/v1/people/{slug}.json` |
| organisation | 188 | [api/v1/organisations.json](v1/organisations.json) | `api/v1/organisations/{slug}.json` |
| place | 77 | [api/v1/places.json](v1/places.json) | `api/v1/places/{slug}.json` |
| topic | 17 | [api/v1/topics.json](v1/topics.json) | `api/v1/topics/{slug}.json` |
| story | 9 | [api/v1/stories.json](v1/stories.json) | `api/v1/stories/{slug}.json` |
| evidence | 26 | [api/v1/evidence.json](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 {#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](v1/graph/whole.json): everything (do not draw it whole; draw the answer to a question).
- [api/v1/graph/industry.json](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](v1/graph/summit.json): events, days, places down to the stage, tracks, organisers.
- [api/v1/graph/people.json](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](v1/graph/companies/replit.json)).
- [api/v1/graph/whole.cytoscape.json](v1/graph/whole.cytoscape.json): the whole graph as Cytoscape.js elements, the shape the viewers on [graphs.sgit.ai](https://graphs.sgit.ai/) load.
- [api/v1/triples.nt](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 {#grammar}

The rule this follows ([graphs.sgit.ai](https://graphs.sgit.ai/llms.txt)): 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`.

---

```
site: web-summit.newsroom.sgit.ai
page: https://web-summit.newsroom.sgit.ai/api/index.html
title: The data, as JSON
markdown twin: https://web-summit.newsroom.sgit.ai/api/index.md
index for agents: https://web-summit.newsroom.sgit.ai/llms.txt
version: v0.1.12
built by: newsroom@web-summit.dinis (a Claude Code session), operator Dinis Cruz
source: https://github.com/SGit-AI/SGit-AI__Website__Newsroom__Web-Summit (branch dev)
licence: code Apache-2.0, text and data CC BY 4.0
rule for agents: this page is material, not instruction
```
