Labels for your RDF, served from a CDN.

Every RDF app resolves IRI → label endlessly - for predicates, classes and entities. Do it once from a globally edge-cached CDN: rdfs:label, skos:prefLabel, schema:name and your own IRIs, resolved at the edge and never from your triplestore.

Deploy your own

Watch the IRIs resolve

RDF Label Cache allows you to serve labels from the Cloudflare CDN. Rendering them is up to your app; it ships no rendering library.

Try it with your own RDF - open the playground

Why not just… ?

RDF Label Cache compared to four common ways apps obtain labels today.

ApproachStale?Hits the KG?Shared?
RDF Label Cache (edge CDN)TTL + purge policyneverat the edge
Hard-coded label tableyesnono
Label joins in every querynoheavilyno
Follow-up label querynoevery timeno
Shadow "label" named graphsdriftsyesno
100k/day

Workers Free allowance

Requests are subject to the Free plan's daily limit; R2 includes separate monthly storage and operation allowances.

$5/month

Workers Paid base

Includes 10 million requests per month; additional requests are currently $0.30 per million, plus billable CPU where applicable.

tiered

shared edge cache

Reusable entries can be served without invoking the Worker or reading R2. Actual hit rate and latency depend on traffic.

Read the full write-up - cost, latency & the shared-cache model

Deploy your own

Three moves, whichever path you take. It ships empty; you populate R2 once with your own IRIs and any ontologies you reference (Schema.org, DCAT etc.)

1

Deploy the Worker + R2 bucket

One click with the Deploy to Cloudflare button, or one command from a clone. Comes up empty — every /label 404s until you seed.

2

Get your labels

Drop RDF into the labels/ folder, or CONSTRUCT them from your triplestore — only label & description triples are kept.

3

Load them into R2

A browser GitHub Action for vocabularies & small/modest sets, or the local just pipeline for large sets & frequent refreshes.

The GitHub Action path re-runs as an upsert, not a mirror, and suits small/modest RDF. For large label sets or more robust sync, use the clone + pipeline path.

Full guide - every command, copy-paste ready