<https://linkeddatahub.com/#demo-apps-object>
        a       <https://w3id.org/atomgraph/linkeddatahub#Object>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                <https://linkeddatahub.com/#demo-apps-view> .

<https://linkeddatahub.com/#claims>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n        <div class=\"ldh-section\">\n            <h2>Every claim comes with something you can run</h2>\n        </div>\n        <ul class=\"claims\">\n            <li class=\"ac-card\">\n                <div class=\"ac-card-body\">\n                    <span class=\"ldh-eyebrow\">Deploy</span>\n                    <h3 class=\"ac-card-title\">A dataspace is a directory of data</h3>\n                    <p class=\"ac-card-meta\">Northwind Traders is a folder of Turtle. One command deploys it, and the demo you can open is the result.</p>\n                    <a class=\"ac-link\" href=\"https://github.com/AtomGraph/LinkedDataHub-Apps/tree/master/demo/northwind-traders\" rel=\"noopener\" target=\"_blank\">See the folder<span aria-hidden=\"true\" class=\"msi\">arrow_forward</span></a>\n                </div>\n            </li>\n            <li class=\"ac-card\">\n                <div class=\"ac-card-body\">\n                    <span class=\"ldh-eyebrow\">Markup</span>\n                    <h3 class=\"ac-card-title\">The markup carries the graph</h3>\n                    <p class=\"ac-card-meta\">The RDFa in any document's markup is the same graph the URL serves as Turtle. View source, request <code>text/turtle</code> and compare.</p>\n                    <a class=\"ac-link\" href=\"https://northwind-traders.demo.linkeddatahub.com/orders/\" rel=\"noopener\" target=\"_blank\">Open a document<span aria-hidden=\"true\" class=\"msi\">arrow_forward</span></a>\n                </div>\n            </li>\n            <li class=\"ac-card\">\n                <div class=\"ac-card-body\">\n                    <span class=\"ldh-eyebrow\">Rendering</span>\n                    <h3 class=\"ac-card-title\">One pipeline, server and browser</h3>\n                    <p class=\"ac-card-meta\">The server-rendered page and the client-rendered page are the same XSLT 3.0. Package stylesheets compose into the client build.</p>\n                    <a class=\"ac-link\" href=\"https://docs.linkeddatahub.com/reference/\" rel=\"noopener\" target=\"_blank\">How it works<span aria-hidden=\"true\" class=\"msi\">arrow_forward</span></a>\n                </div>\n            </li>\n            <li class=\"ac-card\">\n                <div class=\"ac-card-body\">\n                    <span class=\"ldh-eyebrow\">History</span>\n                    <h3 class=\"ac-card-title\">History is kept in git</h3>\n                    <p class=\"ac-card-meta\">Every write to the demo is a commit. Every document has a Memento timemap, so any past version is a URL.</p>\n                    <a class=\"ac-link\" href=\"https://docs.linkeddatahub.com/user-guide/version-history/\" rel=\"noopener\" target=\"_blank\">See how history works<span aria-hidden=\"true\" class=\"msi\">arrow_forward</span></a>\n                </div>\n            </li>\n            <li class=\"ac-card\">\n                <div class=\"ac-card-body\">\n                    <span class=\"ldh-eyebrow\">Agents</span>\n                    <h3 class=\"ac-card-title\">Agents use the same API humans do</h3>\n                    <p class=\"ac-card-meta\">The ldh CLI, Web-Algebra over MCP and the browser all speak the same HTTP. There is no separate agent API to learn.</p>\n                    <a class=\"ac-link\" href=\"https://docs.linkeddatahub.com/get-started/agents/\" rel=\"noopener\" target=\"_blank\">Connect an agent<span aria-hidden=\"true\" class=\"msi\">arrow_forward</span></a>\n                </div>\n            </li>\n            <li class=\"ac-card\">\n                <div class=\"ac-card-body\">\n                    <span class=\"ldh-eyebrow\">Why</span>\n                    <h3 class=\"ac-card-title\">The architecture behind LinkedDataHub</h3>\n                    <p class=\"ac-card-meta\">First Principles of the Web explains the architectural argument behind LinkedDataHub.</p>\n                    <a class=\"ac-link\" href=\"https://firstprinciplesoftheweb.org/\" rel=\"noopener\" target=\"_blank\">Read the book<span aria-hidden=\"true\" class=\"msi\">arrow_forward</span></a>\n                </div>\n            </li>\n        </ul>\n    </div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

<https://linkeddatahub.com/uploads/b90f8d886becfea648bd1118b301328ee47d923e>
        a       <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject>;
        <http://purl.org/dc/terms/format>
                <http://www.sparontologies.net/mediatype/video/mp4>;
        <http://purl.org/dc/terms/title>
                "setup.mp4";
        <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName>
                "setup.mp4";
        <http://xmlns.com/foaf/0.1/sha1>
                "b90f8d886becfea648bd1118b301328ee47d923e" .

<https://linkeddatahub.com/#closing>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n        <div class=\"closing\">\n            <h2>This site runs on LinkedDataHub.</h2>\n            <p>It is open source under Apache 2.0. Run it yourself, or contact AtomGraph to discuss a deployment.</p>\n            <div class=\"actions\">\n                <a class=\"ac-btn in-neutral ap-outline sz-lg\" href=\"https://github.com/AtomGraph/LinkedDataHub\" rel=\"noopener\" target=\"_blank\">Source on GitHub</a>\n                <a class=\"ac-btn in-primary ap-solid sz-lg\" href=\"https://atomgraph.com/contact/?product=https%3A%2F%2Fatomgraph.com%2Fproducts%2Flinkeddatahub%2F%23this\" rel=\"noopener\" target=\"_blank\">Book a demo</a>\n            </div>\n        </div>\n    </div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

<https://linkeddatahub.com/#hero>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n        <div class=\"ldh-hero is-centered is-wash\">\n            <p class=\"eyebrow\">Open-source Knowledge Graph platform</p>\n            <h1>The application is data.</h1>\n            <p class=\"lede\">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.</p>\n            <video autoplay=\"autoplay\" controls=\"controls\" muted=\"muted\" playsinline=\"playsinline\" poster=\"uploads/b959d3f3f75bd9d629d7624e5dc665891508bbf8\" preload=\"metadata\" src=\"uploads/a39c1407ec4832b80b9b7acd9c068cdc3efe1dcb\"></video>\n            <div class=\"actions\">\n                <a class=\"ac-btn in-primary ap-solid sz-lg\" href=\"https://docs.linkeddatahub.com/get-started/\" rel=\"noopener\" target=\"_blank\">Get started</a>\n                <a class=\"ac-btn in-neutral ap-outline sz-lg\" href=\"https://northwind-traders.demo.linkeddatahub.com/\" rel=\"noopener\" target=\"_blank\">Open the demo</a>\n                <a class=\"ac-btn in-neutral ap-ghost sz-lg\" href=\"https://github.com/AtomGraph/LinkedDataHub\" rel=\"noopener\" target=\"_blank\">GitHub</a>\n            </div>\n        </div>\n    </div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

<https://linkeddatahub.com/#demos-counts>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n        <div class=\"counts\">\n            <span>Counted over each dataspace folder in the LinkedDataHub-Apps repository.</span>\n            <span><b>Northwind</b> 0 lines of imperative code · 681 lines of SPARQL</span>\n            <span><b>Copenhagen</b> 0 lines of imperative code · one mapping query per facility type</span>\n            <span><b>UNESCO</b> 0 lines of XSLT · the stylesheet comes from the taxonomy editor package</span>\n        </div>\n    </div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

<https://linkeddatahub.com/#sales-trend-block>
        a       <https://w3id.org/atomgraph/linkeddatahub#Object>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                <https://northwind-traders.demo.linkeddatahub.com/#sales-trend>;
        <http://purl.org/dc/terms/title>
                "Monthly sales trend" .

<https://linkeddatahub.com/uploads/7556d0248981d2c4b6e2c0c58ff4556449e4012b>
        a       <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject>;
        <http://purl.org/dc/terms/format>
                <http://www.sparontologies.net/mediatype/image/png>;
        <http://purl.org/dc/terms/title>
                "og-image.png";
        <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName>
                "og-image.png";
        <http://xmlns.com/foaf/0.1/sha1>
                "7556d0248981d2c4b6e2c0c58ff4556449e4012b" .

<https://linkeddatahub.com/uploads/a39c1407ec4832b80b9b7acd9c068cdc3efe1dcb>
        a       <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject>;
        <http://purl.org/dc/terms/format>
                <http://www.sparontologies.net/mediatype/video/mp4>;
        <http://purl.org/dc/terms/title>
                "hero.mp4";
        <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName>
                "hero.mp4";
        <http://xmlns.com/foaf/0.1/sha1>
                "a39c1407ec4832b80b9b7acd9c068cdc3efe1dcb" .

<https://linkeddatahub.com/uploads/24de9fe4190c7d785e56a110efdc0ac53cbb7c83>
        a       <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject>;
        <http://purl.org/dc/terms/format>
                <http://www.sparontologies.net/mediatype/image/jpeg>;
        <http://purl.org/dc/terms/title>
                "setup-poster.jpg";
        <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName>
                "setup-poster.jpg";
        <http://xmlns.com/foaf/0.1/sha1>
                "24de9fe4190c7d785e56a110efdc0ac53cbb7c83" .

<https://linkeddatahub.com/#declare>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n        <div class=\"ldh-section\">\n            <h2>The platform interprets declarations instead of generating code.</h2>\n            <p>LinkedDataHub stores a dataspace's definitions as RDF. New pages and views can reuse the resources and vocabulary already in a dataspace.</p>\n            <p>Applications built with the standard components do not need a separately implemented frontend. Custom interfaces can extend the rendering templates.</p>\n        </div>\n        <div class=\"ldh-section questions\">\n            <h2>Questions</h2>\n        </div>\n        <div class=\"questions\">\n            <details class=\"ac-disclosure\">\n                <summary><span class=\"msi\">chevron_right</span>How is a dataspace defined?</summary>\n                <p>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.</p>\n            </details>\n            <details class=\"ac-disclosure\">\n                <summary><span class=\"msi\">chevron_right</span>How does this differ from generating an application codebase?</summary>\n                <p>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.</p>\n            </details>\n            <details class=\"ac-disclosure\">\n                <summary><span class=\"msi\">chevron_right</span>Why RDF?</summary>\n                <p>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.</p>\n            </details>\n            <details class=\"ac-disclosure\">\n                <summary><span class=\"msi\">chevron_right</span>Can I customise the interface?</summary>\n                <p>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.</p>\n            </details>\n            <details class=\"ac-disclosure\">\n                <summary><span class=\"msi\">chevron_right</span>Can an agent change the data?</summary>\n                <p>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.</p>\n            </details>\n        </div>\n    </div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

<https://linkeddatahub.com/#select-demo-apps>
        a                             <http://spinrdf.org/sp#Select>;
        <http://www.w3.org/2000/01/rdf-schema#label>
                "Select demo dataspaces";
        <http://purl.org/dc/terms/title>
                "Select demo dataspaces";
        <http://spinrdf.org/sp#text>  "\nPREFIX lds: <https://w3id.org/atomgraph/linkeddatahub/dataspaces#>\nPREFIX dct: <http://purl.org/dc/terms/>\n\nSELECT DISTINCT ?dataspace ?title\nWHERE\n  { GRAPH ?graph\n      { ?dataspace a lds:Dataspace ;\n             dct:title ?title\n      }\n  }\nORDER BY ?title\n";
        <https://w3id.org/atomgraph/linkeddatahub#service>
                <https://linkeddatahub.com/#demo-service> .

<https://linkeddatahub.com/#demos-intro>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n        <div class=\"ldh-section\">\n            <h2>Three dataspaces without application code</h2>\n            <p>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.</p>\n        </div>\n    </div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

<https://linkeddatahub.com/#live-intro>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n        <div class=\"ldh-section\">\n            <h2>Live from the demo</h2>\n            <p>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. <a href=\"https://northwind-traders.demo.linkeddatahub.com/#sales-by-month-query\" rel=\"noopener\" target=\"_blank\">View the SPARQL query</a>.</p>\n        </div>\n    </div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

<https://linkeddatahub.com/#demo-service>
        a       <http://www.w3.org/ns/sparql-service-description#Service>;
        <http://purl.org/dc/terms/title>
                "Demo service";
        <http://www.w3.org/ns/sparql-service-description#endpoint>
                <https://demo.linkeddatahub.com/sparql>;
        <http://www.w3.org/ns/sparql-service-description#supportedLanguage>
                <http://www.w3.org/ns/sparql-service-description#SPARQL11Update> , <http://www.w3.org/ns/sparql-service-description#SPARQL11Query> .

<https://linkeddatahub.com/#run-it>
        a       <https://w3id.org/atomgraph/linkeddatahub#XHTML>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#value>
                "<div xmlns=\"http://www.w3.org/1999/xhtml\">\n        <div class=\"ldh-section\">\n            <h2>Run it yourself</h2>\n            <p>Clone the repository, copy the sample configuration and start the services, then open it in your browser. <a href=\"https://docs.linkeddatahub.com/get-started/setup/\" rel=\"noopener\" target=\"_blank\">Full setup instructions</a>.</p>\n        </div>\n        <div class=\"run\">\n            <pre><code>git clone https://github.com/AtomGraph/LinkedDataHub.git\ncd LinkedDataHub\ncp .env_sample .env\nmake up -- --build</code></pre>\n            <video autoplay=\"autoplay\" loop=\"loop\" muted=\"muted\" playsinline=\"playsinline\" poster=\"uploads/24de9fe4190c7d785e56a110efdc0ac53cbb7c83\" preload=\"metadata\" src=\"uploads/b90f8d886becfea648bd1118b301328ee47d923e\"></video>\n        </div>\n    </div>"^^<http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral> .

<https://linkeddatahub.com/#demo-apps-view>
        a       <https://w3id.org/atomgraph/linkeddatahub#View>;
        <http://purl.org/dc/terms/title>
                "Demo dataspaces";
        <http://spinrdf.org/spin#query>
                <https://linkeddatahub.com/#select-demo-apps>;
        <https://w3id.org/atomgraph/client#mode>
                <https://w3id.org/atomgraph/client#GridMode> .

<https://linkeddatahub.com/>
        a       <https://w3id.org/atomgraph/linkeddatahub/default#Root>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_1>
                <https://linkeddatahub.com/#hero>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_10>
                <https://linkeddatahub.com/#closing>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_2>
                <https://linkeddatahub.com/#claims>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_3>
                <https://linkeddatahub.com/#live-intro>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_4>
                <https://linkeddatahub.com/#sales-trend-block>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_5>
                <https://linkeddatahub.com/#demos-intro>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_6>
                <https://linkeddatahub.com/#demo-apps-object>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_7>
                <https://linkeddatahub.com/#demos-counts>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_8>
                <https://linkeddatahub.com/#declare>;
        <http://www.w3.org/1999/02/22-rdf-syntax-ns#_9>
                <https://linkeddatahub.com/#run-it>;
        <http://purl.org/dc/terms/created>
                "2026-10-25T16:19:42Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
        <http://purl.org/dc/terms/creator>
                <https://admin.linkeddatahub.com/acl/agents/01fe43e2-f80e-4312-b37e-86063a80e4f9/#this>;
        <http://purl.org/dc/terms/description>
                "The application is data. Classes, forms, views, charts and access rules are RDF documents; push a folder of Turtle and the app is live.";
        <http://purl.org/dc/terms/modified>
                "2026-10-25T16:22:03.447Z"^^<http://www.w3.org/2001/XMLSchema#dateTime>;
        <http://purl.org/dc/terms/title>
                "LinkedDataHub";
        <http://www.w3.org/ns/auth/acl#owner>
                <https://admin.linkeddatahub.com/acl/agents/01fe43e2-f80e-4312-b37e-86063a80e4f9/#this>;
        <http://xmlns.com/foaf/0.1/depiction>
                <https://linkeddatahub.com/uploads/7556d0248981d2c4b6e2c0c58ff4556449e4012b> .

<https://linkeddatahub.com/uploads/b959d3f3f75bd9d629d7624e5dc665891508bbf8>
        a       <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject>;
        <http://purl.org/dc/terms/format>
                <http://www.sparontologies.net/mediatype/image/jpeg>;
        <http://purl.org/dc/terms/title>
                "hero-poster.jpg";
        <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#fileName>
                "hero-poster.jpg";
        <http://xmlns.com/foaf/0.1/sha1>
                "b959d3f3f75bd9d629d7624e5dc665891508bbf8" .
