Open-source Knowledge Graph platform

The application is data.

Classes, forms, views, charts and access rules are RDF documents. Push a folder of Turtle and the dataspace is live. An agent can write it.

Every claim comes with something you can run

  • Deploy

    A dataspace is a directory of data

    Northwind Traders is a folder of Turtle. One command deploys it, and the demo you can open is the result.

    See the folder
  • Markup

    The markup carries the graph

    The RDFa in any document's markup is the same graph the URL serves as Turtle. View source, request text/turtle and compare.

    Open a document
  • Rendering

    One pipeline, server and browser

    The server-rendered page and the client-rendered page are the same XSLT 3.0. Package stylesheets compose into the client build.

    How it works
  • History

    History is kept in git

    Every write to the demo is a commit. Every document has a Memento timemap, so any past version is a URL.

    See how history works
  • Agents

    Agents use the same API humans do

    The ldh CLI, Web-Algebra over MCP and the browser all speak the same HTTP. There is no separate agent API to learn.

    Read AGENTS.md
  • Why

    The architecture behind LinkedDataHub

    First Principles of the Web explains the architectural argument behind LinkedDataHub.

    Read the book

Live from the demo

The chart below is declared on this page and bound to a query. The query runs against the Northwind dataspace when the page loads. Northwind is sample data from the 1990s, so the dates are old and the numbers do not change. View the SPARQL query.

Title
Monthly sales trend

Three dataspaces without application code

Each demo is a folder of Turtle and SPARQL in the LinkedDataHub-Apps repository, deployed with one command. This grid is itself a query: it lists every dataspace the demo origin knows about.

Counted over each dataspace folder in the LinkedDataHub-Apps repository.Northwind 0 lines of imperative code · 681 lines of SPARQLCopenhagen 0 lines of imperative code · one mapping query per facility typeUNESCO 0 lines of XSLT · the stylesheet comes from the taxonomy editor package

The platform interprets declarations instead of generating code.

LinkedDataHub stores a dataspace's definitions as RDF. New pages and views can reuse the resources and vocabulary already in a dataspace.

Applications built with the standard components do not need a separately implemented frontend. Custom interfaces can extend the rendering templates.

Questions

chevron_rightHow is a dataspace defined?

Pages, views, queries, forms and access rules are configured in RDF. You can edit supported configuration through the interface, or use the CLI and the HTTP API. Custom rendering is added through templates.

chevron_rightHow does this differ from generating an application codebase?

LinkedDataHub provides the runtime and the standard interface components. A dataspace's definitions are stored as RDF and interpreted by the platform. You still maintain your data, declarations, deployment and any custom extensions.

chevron_rightWhy RDF?

RDF provides identifiers and a shared data model for linking resources across documents and datasets. Vocabularies and mappings can be represented as data too. Combining graphs does not resolve differences in meaning by itself; those still need explicit modelling.

chevron_rightCan I customise the interface?

Yes. Packages can extend the ontology and the rendering templates. The built-in components are a starting point, and specialised interfaces add their own templates.

chevron_rightCan an agent change the data?

Agents can use the HTTP API to create and update documents, subject to the access granted to their identity. The agent guide describes the supported setup and operations.

Run it yourself

Clone the repository, copy the sample configuration and start the services, then open it in your browser. Full setup instructions.

git clone --branch develop https://github.com/AtomGraph/LinkedDataHub.git
cd LinkedDataHub
cp .env_sample .env
make up -- --build

This site runs on LinkedDataHub.

It is open source under Apache 2.0. Run it yourself, or contact AtomGraph to discuss a deployment.