GraphCentric developer view

/decks/data-centric-slide-decks

https://graphcentric.com/decks/data-centric-slide-decks

Navigation

Methods

MethodStatusBasis
GETavailablerepresentation candidates are configured
HEADavailableGET representation headers
OPTIONSavailableHTTP capability discovery

Resource Details

URI
https://graphcentric.com/decks/data-centric-slide-decks
Graph
https://graphcentric.com/graphs/public-resources
Query
s3://graphcentric.com/decks-content/data-centric-slide-decks/query.sparql

Resource Configuration Model

Turtle

Server rendered
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX gcs:     <https://graphcentric.com/schema/>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema:  <https://schema.org/>
PREFIX sh:      <http://www.w3.org/ns/shacl#>
PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>

<https://graphcentric.com/decks/data-centric-slide-decks/slides/manual-collation.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/manual-collation>;
        schema:name  "Canonical slide" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/opening.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening>;
        schema:name  "Canonical slide" .

<https://graphcentric.com/decks/data-centric-slide-decks-slides/.links/last-slide>
        rdf:type     gcs:Link;
        gcs:rel      "last";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme.html>;
        schema:name  "Last slide" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/alternate-slides>
        rdf:type     gcs:Link;
        gcs:rel      "alternate";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks-slides>;
        schema:name  "Deck slides" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/resource-configuration-html>
        rdf:type     gcs:Link;
        gcs:rel      "https://graphcentric.info/link-relations/resource-configuration";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks.resource-configuration.html>;
        schema:name  "Deck Resource Configuration HTML" .

<https://graphcentric.com/decks/data-centric-slide-decks>
        rdf:type   gcs:WebResource;
        gcs:frame  <s3://graphcentric.com/decks-content/data-centric-slide-decks/frame.jsonld>;
        gcs:graph  <https://graphcentric.com/graphs/public-resources>;
        gcs:link   <https://graphcentric.com/decks/data-centric-slide-decks/.links/alternate-html> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-malcolm-sparks-bio> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-training-policy> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-manual-collation> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-bio-slide-how-it-works> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/first-slide> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/alternate-slides> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-slide-link-relations> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/resource-configuration-html> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-speaker-bio-query> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/last-slide> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-live-data> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-opening> , <https://graphcentric.com/decks/data-centric-slide-decks/.links/item-newsletter-theme>;
        gcs:query  <s3://graphcentric.com/decks-content/data-centric-slide-decks/query.sparql> .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/live-data.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/live-data.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/live-data-slide-model/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks.html/.links/last-slide> , <https://graphcentric.com/decks/data-centric-slide-decks.html/.links/first-slide> , <https://graphcentric.com/decks/data-centric-slide-decks.html/.links/canonical> , <https://graphcentric.com/decks/data-centric-slide-decks.html/.links/alternate-slides>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/public.html>;
        gcs:template       <s3://graphcentric.com/decks-content/data-centric-slide-decks/body.html>;
        schema:name        "Data-centric slide decks Deck HTML" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/training-policy.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/training-policy.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/training-decks-policy-updates/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-bio-slide-how-it-works>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/bio-slide-how-it-works.html>;
        schema:name  "bio-slide-how-it-works" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-malcolm-sparks-bio>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/malcolm-sparks-bio.html>;
        schema:name  "malcolm-sparks-bio" .

<https://graphcentric.com/decks/data-centric-slide-decks-slides/.links/alternate-scroll>
        rdf:type     gcs:Link;
        gcs:rel      "alternate";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks.html>;
        schema:name  "Scroll view" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/slide-link-relations.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/slide-link-relations.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/slide-link-relations/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/slide-link-relations.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/slide-link-relations>;
        schema:name  "Canonical slide" .

<https://graphcentric.com/decks/data-centric-slide-decks.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks>;
        schema:name  "Canonical deck" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-newsletter-theme>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme.html>;
        schema:name  "newsletter-theme" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/bio-slide-how-it-works.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/bio-slide-how-it-works.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/bio-slide-how-it-works/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/speaker-bio-query.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/speaker-bio-query.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/speaker-bio-query/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks.html/.links/last-slide>
        rdf:type     gcs:Link;
        gcs:rel      "last";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme.html>;
        schema:name  "Last slide" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/alternate-html>
        rdf:type     gcs:Link;
        gcs:rel      "alternate";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks.html>;
        schema:name  "Deck HTML" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/manual-collation.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/manual-collation.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/manual-collation-tax/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks.resource-configuration.html>
        rdf:type         gcs:WebResource;
        gcs:contentType  "text/html;charset=utf-8";
        gcs:graph        <https://graphcentric.com/graphs/public-resources> .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/malcolm-sparks-bio.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/malcolm-sparks-bio>;
        schema:name  "Canonical slide" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/training-policy.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/training-policy>;
        schema:name  "Canonical slide" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/newsletter-theme/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/first-slide>
        rdf:type     gcs:Link;
        gcs:rel      "first";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening.html>;
        schema:name  "First slide" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/malcolm-sparks-bio.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/malcolm-sparks-bio.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/malcolm-sparks-bio/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-training-policy>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/training-policy.html>;
        schema:name  "training-policy" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-slide-link-relations>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/slide-link-relations.html>;
        schema:name  "slide-link-relations" .

<https://graphcentric.com/decks/data-centric-slide-decks.html/.links/first-slide>
        rdf:type     gcs:Link;
        gcs:rel      "first";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening.html>;
        schema:name  "First slide" .

<https://graphcentric.com/decks/data-centric-slide-decks.html/.links/alternate-slides>
        rdf:type    gcs:Link;
        gcs:rel     "alternate";
        gcs:target  <https://graphcentric.com/decks/data-centric-slide-decks-slides> .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-speaker-bio-query>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/speaker-bio-query.html>;
        schema:name  "speaker-bio-query" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-live-data>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/live-data.html>;
        schema:name  "live-data" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/live-data.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/live-data>;
        schema:name  "Canonical slide" .

<https://graphcentric.com/decks/data-centric-slide-decks-slides/.links/first-slide>
        rdf:type     gcs:Link;
        gcs:rel      "first";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening.html>;
        schema:name  "First slide" .

<https://graphcentric.com/decks/data-centric-slide-decks-slides/.links/resource-configuration-html>
        rdf:type     gcs:Link;
        gcs:rel      "https://graphcentric.info/link-relations/resource-configuration";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks-slides.resource-configuration.html>;
        schema:name  "Slide Deck Resource Configuration" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/opening.html>
        rdf:type           gcs:WebResource;
        gcs:contentType    "text/html;charset=utf-8";
        gcs:graph          <https://graphcentric.com/graphs/public-resources>;
        gcs:link           <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/data-centric-decks-opening/body.html> .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-manual-collation>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/manual-collation.html>;
        schema:name  "manual-collation" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/last-slide>
        rdf:type     gcs:Link;
        gcs:rel      "last";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme.html>;
        schema:name  "Last slide" .

<https://graphcentric.com/decks/data-centric-slide-decks/.links/item-opening>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening.html>;
        schema:name  "opening" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/speaker-bio-query.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/speaker-bio-query>;
        schema:name  "Canonical slide" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme>;
        schema:name  "Canonical slide" .

<https://graphcentric.com/decks/data-centric-slide-decks-slides>
        rdf:type     gcs:WebResource;
        gcs:graph    <https://graphcentric.com/graphs/public-resources>;
        gcs:link     <https://graphcentric.com/decks/data-centric-slide-decks-slides/.links/alternate-scroll> , <https://graphcentric.com/decks/data-centric-slide-decks-slides/.links/first-slide> , <https://graphcentric.com/decks/data-centric-slide-decks-slides/.links/last-slide> , <https://graphcentric.com/decks/data-centric-slide-decks-slides/.links/resource-configuration-html>;
        schema:name  "Data-centric slide decks" .

<https://graphcentric.com/decks/data-centric-slide-decks/slides/bio-slide-how-it-works.html/.links/canonical>
        rdf:type     gcs:Link;
        gcs:rel      "canonical";
        gcs:target   <https://graphcentric.com/decks/data-centric-slide-decks/slides/bio-slide-how-it-works>;
        schema:name  "Canonical slide" .

SPARQL Query

s3://graphcentric.com/decks-content/data-centric-slide-decks/query.sparql
BASE <https://graphcentric.com/>
PREFIX schema: <https://schema.org/>
PREFIX gcs: <https://graphcentric.com/schema/>
PREFIX dcterms: <http://purl.org/dc/terms/>

CONSTRUCT {
  ?_subject
    a schema:PresentationDigitalDocument;
    schema:headline ?headline;
    schema:description ?description;
    gcs:slidesResource ?slidesResource;
    gcs:firstSlide ?firstSlide;
    gcs:slide ?slide.

  ?slide
    schema:name ?slot;
    schema:position ?position;
    schema:url ?canonicalUrl;
    gcs:htmlUrl ?htmlUrl;
    gcs:speakerNotesHtml ?speakerNotesHtml;
    dcterms:title ?title.
}
WHERE {
  BIND(<decks/data-centric-slide-decks> AS ?deck)
  BIND(<decks/data-centric-slide-decks-slides> AS ?slidesResource)
  BIND(<decks/data-centric-slide-decks/slides/opening> AS ?firstSlide)

  GRAPH <graphs/cms> {
    ?deck schema:headline ?headline;
      schema:description ?description.
  }

  GRAPH <graphs/public-resources> {
    ?deck gcs:link ?itemLink.
    ?itemLink
      gcs:rel ?rel;
      gcs:target ?htmlUrl;
      schema:name ?slot.
    FILTER(?rel IN ("item", "https://www.iana.org/assignments/relation/item"))
  }

  BIND(IRI(CONCAT(STR(?_subject), "#", ?slot)) AS ?slide)
  BIND(IRI(REPLACE(STR(?htmlUrl), "\\.html$", "")) AS ?canonicalUrl)

  VALUES (?slot ?position) {
    ("opening" 1)
    ("manual-collation" 2)
    ("live-data" 3)
    ("malcolm-sparks-bio" 4)
    ("speaker-bio-query" 5)
    ("bio-slide-how-it-works" 6)
    ("slide-link-relations" 7)
    ("training-policy" 8)
    ("newsletter-theme" 9)
  }

  VALUES (?slot ?speakerNotesHtml) {
    ("opening" "<p>Open with the pain: business decks often pretend to be static documents, but they are really recurring data products. The chart image is intentionally familiar: a manually copied business graphic that should have come straight from governed data.</p><p>The promise of this deck is that slides can be web resources that query trusted data and stay current.</p>")
    ("manual-collation" "<p>Use this slide to name the hidden operational cost. Every export, paste, screenshot, and formatting pass is a small control failure: provenance is lost, the numbers go stale, and reviewers spend time checking presentation mechanics rather than business meaning.</p>")
    ("live-data" "<p>This is the architectural pivot. A slide is not just a rectangle of HTML; it is a resource with state. The template controls presentation, while the query controls what data is assembled for that presentation.</p><p>This lets different decks reuse the same slide patterns without copying the facts.</p>")
    ("malcolm-sparks-bio" "<p>Point out that this slide slot is embedding a reusable speaker-bio slide. The wrapper slide does not copy Malcolm's profile text. It references another slide resource that owns its own query and template.</p>")
    ("speaker-bio-query" "<p>Show the actual query that reads Malcolm's public profile from the CMS graph. This is the mechanism behind the previous visual slide: RDF in, framed JSON-LD out, rendered HTML from a template.</p>")
    ("bio-slide-how-it-works" "<p>Connect the pieces: named graph, canonical profile resource, query, frame, and template. The important claim is not just that the deck is dynamic; it is discoverable and inspectable as ordinary web resources.</p>")
    ("slide-link-relations" "<p>Explain that navigation is not hardcoded JavaScript knowledge. Each slide advertises standard and extension link relations. Browsers use them for keyboard navigation; agents can use the same links to explore the deck and inspect how a slide is produced.</p>")
    ("training-policy" "<p>Generalize beyond speaker bios. Policies, training material, release notes, and board packs all suffer from the same stale-copy problem. Data-centric slides let those documents reflect governed source data instead.</p>")
    ("newsletter-theme" "<p>Close by returning to the newsletter or reporting workflow. The point is not prettier slide automation; it is replacing manual collation with linked, governed resources that humans and agents can both traverse.</p>")
  }

  OPTIONAL {
    GRAPH <graphs/public-resources> {
      ?canonicalUrl dcterms:title ?title.
    }
  }
}

Query Scope

Named Graphs

6 graphs

Resource State

Turtle

Server rendered
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX gcs:     <https://graphcentric.com/schema/>
PREFIX rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:    <http://www.w3.org/2000/01/rdf-schema#>
PREFIX schema:  <https://schema.org/>
PREFIX sh:      <http://www.w3.org/ns/shacl#>
PREFIX xsd:     <http://www.w3.org/2001/XMLSchema#>

<https://graphcentric.com/decks/data-centric-slide-decks#bio-slide-how-it-works>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/bio-slide-how-it-works.html>;
        gcs:speakerNotesHtml  "<p>Connect the pieces: named graph, canonical profile resource, query, frame, and template. The important claim is not just that the deck is dynamic; it is discoverable and inspectable as ordinary web resources.</p>";
        schema:name           "bio-slide-how-it-works";
        schema:position       6;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/bio-slide-how-it-works> .

<https://graphcentric.com/decks/data-centric-slide-decks#speaker-bio-query>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/speaker-bio-query.html>;
        gcs:speakerNotesHtml  "<p>Show the actual query that reads Malcolm's public profile from the CMS graph. This is the mechanism behind the previous visual slide: RDF in, framed JSON-LD out, rendered HTML from a template.</p>";
        schema:name           "speaker-bio-query";
        schema:position       5;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/speaker-bio-query> .

<https://graphcentric.com/decks/data-centric-slide-decks#slide-link-relations>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/slide-link-relations.html>;
        gcs:speakerNotesHtml  "<p>Explain that navigation is not hardcoded JavaScript knowledge. Each slide advertises standard and extension link relations. Browsers use them for keyboard navigation; agents can use the same links to explore the deck and inspect how a slide is produced.</p>";
        schema:name           "slide-link-relations";
        schema:position       7;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/slide-link-relations> .

<https://graphcentric.com/decks/data-centric-slide-decks#manual-collation>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/manual-collation.html>;
        gcs:speakerNotesHtml  "<p>Use this slide to name the hidden operational cost. Every export, paste, screenshot, and formatting pass is a small control failure: provenance is lost, the numbers go stale, and reviewers spend time checking presentation mechanics rather than business meaning.</p>";
        schema:name           "manual-collation";
        schema:position       2;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/manual-collation> .

<https://graphcentric.com/decks/data-centric-slide-decks#live-data>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/live-data.html>;
        gcs:speakerNotesHtml  "<p>This is the architectural pivot. A slide is not just a rectangle of HTML; it is a resource with state. The template controls presentation, while the query controls what data is assembled for that presentation.</p><p>This lets different decks reuse the same slide patterns without copying the facts.</p>";
        schema:name           "live-data";
        schema:position       3;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/live-data> .

<https://graphcentric.com/decks/data-centric-slide-decks>
        rdf:type            schema:PresentationDigitalDocument;
        gcs:firstSlide      <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening>;
        gcs:slide           <https://graphcentric.com/decks/data-centric-slide-decks#malcolm-sparks-bio> , <https://graphcentric.com/decks/data-centric-slide-decks#opening> , <https://graphcentric.com/decks/data-centric-slide-decks#slide-link-relations> , <https://graphcentric.com/decks/data-centric-slide-decks#bio-slide-how-it-works> , <https://graphcentric.com/decks/data-centric-slide-decks#manual-collation> , <https://graphcentric.com/decks/data-centric-slide-decks#live-data> , <https://graphcentric.com/decks/data-centric-slide-decks#training-policy> , <https://graphcentric.com/decks/data-centric-slide-decks#speaker-bio-query> , <https://graphcentric.com/decks/data-centric-slide-decks#newsletter-theme>;
        gcs:slidesResource  <https://graphcentric.com/decks/data-centric-slide-decks-slides>;
        schema:description  "Why public reporting decks should be assembled from reusable slides and live governed data instead of pasted screenshots and manual collation.";
        schema:headline     "Data-centric slide decks" .

<https://graphcentric.com/decks/data-centric-slide-decks#opening>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening.html>;
        gcs:speakerNotesHtml  "<p>Open with the pain: business decks often pretend to be static documents, but they are really recurring data products. The chart image is intentionally familiar: a manually copied business graphic that should have come straight from governed data.</p><p>The promise of this deck is that slides can be web resources that query trusted data and stay current.</p>";
        schema:name           "opening";
        schema:position       1;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/opening> .

<https://graphcentric.com/decks/data-centric-slide-decks#newsletter-theme>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme.html>;
        gcs:speakerNotesHtml  "<p>Close by returning to the newsletter or reporting workflow. The point is not prettier slide automation; it is replacing manual collation with linked, governed resources that humans and agents can both traverse.</p>";
        schema:name           "newsletter-theme";
        schema:position       9;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/newsletter-theme> .

<https://graphcentric.com/decks/data-centric-slide-decks#training-policy>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/training-policy.html>;
        gcs:speakerNotesHtml  "<p>Generalize beyond speaker bios. Policies, training material, release notes, and board packs all suffer from the same stale-copy problem. Data-centric slides let those documents reflect governed source data instead.</p>";
        schema:name           "training-policy";
        schema:position       8;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/training-policy> .

<https://graphcentric.com/decks/data-centric-slide-decks#malcolm-sparks-bio>
        gcs:htmlUrl           <https://graphcentric.com/decks/data-centric-slide-decks/slides/malcolm-sparks-bio.html>;
        gcs:speakerNotesHtml  "<p>Point out that this slide slot is embedding a reusable speaker-bio slide. The wrapper slide does not copy Malcolm's profile text. It references another slide resource that owns its own query and template.</p>";
        schema:name           "malcolm-sparks-bio";
        schema:position       4;
        schema:url            <https://graphcentric.com/decks/data-centric-slide-decks/slides/malcolm-sparks-bio> .

SSE Status

Stream link relations
streamstatussubscriberslast idstate
No stream resources are linked from this resource.

Cache Status

Placeholder: configuration cache/runtime query cache status is not exposed to this renderer yet.

Cache-Control

Placeholder: response cache-control policy is not exposed yet.

ETag

Placeholder: source representation ETag calculation is representation-specific and not exposed here yet.

Content-Security-Policy

Placeholder: CSP headers are not exposed to this renderer yet.