authored works_at applied_to has_skill connected_to studied_at previously_worked_at follows PERSON · MEMBER M_4327891 Sarah Chen Senior Software Engineer · SF POST · ARTICLE P_x29b "AI for everyone" posted Feb 2026 · 4.2K likes COMPANY C_8732 Stripe since 2023 · fintech JOB POSTING J_77432 Senior Eng · Linear applied Jan 2026 SKILL S_python Python 1,247 endorsements PERSON · MEMBER M_1009842 John Doe PM @ Notion · 12 mutual UNIVERSITY U_211 Stanford CS, 2013–2017 COMPANY C_45 Google 2019–2023 · Eng II TOPIC · INTEREST T_aiml AI / Machine Learning 8.2M followers READ AS: Sarah Chen is a member · works at Stripe since 2023 · previously at Google 2019-2023 · studied CS at Stanford · has skill Python (1,247 endorsements) · connected to John Doe (12 mutuals) · applied to Senior Eng at Linear · authored "AI for everyone" · follows AI/ML.

LinkedIn's alphabet

A tiny slice. LinkedIn's actual schema is larger but operates on the same principle — fixed types, free vocabulary.

Node types — sample

what kinds of things live in the graph

person company university school job post article skill topic group event newsletter certification product service

Edge types — sample

what kinds of relationships the arrows carry

works_at previously_worked_at studied_at earned_degree has_skill endorsed_by recommended_by connected_to follows authored liked shared commented_on applied_to posted_by member_of attended mentions

What the typing makes possible

Four features you use every time you open LinkedIn. None work on untyped data.

01
"People you may know"
You SARAH connected John DEG 1 connected Emma SUGGESTED both studied at Stanford · both at fintech companies
Graph traversal finds 2nd-degree connections, ranked by shared typed properties (same `studied_at`, same `works_at` industry, mutual `connected_to` count).
02
Faceted search
"Senior Engineers in Berlin at fintech" PARSED AS TYPED QUERY: type: person title_seniority: senior location: Berlin works_at → company.industry: fintech → 4,302 results
Every filter dropdown maps to a typed field. "Senior" filters `title_seniority`. "Berlin" filters `location`. "Fintech" follows the `works_at` edge to a Company and filters its `industry`.
03
Job-match feed
YOUR SKILLS Python SQL Go AWS JOB REQUIRES Python SQL Kubernetes AWS 3 of 4 skills match · 75% · ranked #2 in your feed
Match `Person.skills` to `Job.requirements` via typed set overlap, weighted by `Job.posted_by` company size and your `previously_worked_at` history.
04
Type-aware rendering
PERSON John Doe PM @ Notion San Francisco Connect COMPANY S Stripe Fintech · 8,000 emp San Francisco Follow JOB Senior Eng Linear · Remote $240K–$320K Posted 3 days ago Easy Apply
UI reads the node's type and picks a template — Person shows photo + title + Connect, Company shows logo + employee count + Follow, Job shows salary + Apply. Same component framework, different render per type.
Same shape, different scale

Wikidata. LinkedIn. Legacy.

Three typed graphs — an encyclopedia, a professional network, an estate plan. Same alphabet metaphor. Same rules-engine pattern. Same type-aware UI. Just different domains, different alphabet sizes, different audiences.

Wikidata
~10K node types
~100M items
All human knowledge.
LinkedIn
~15 node types
~1B members
Professional network.