GraphCentric developer view

/decks/sample

https://graphcentric.com/decks/sample

Navigation

Methods

MethodStatusBasis
GETavailablerepresentation candidates are configured
HEADavailableGET representation headers
OPTIONSavailableHTTP capability discovery

Resource Details

URI
https://graphcentric.com/decks/sample
Graph
https://graphcentric.com/graphs/public-resources
Query
s3://graphcentric.com/decks-content/sample/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/sample.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/sample/slides/decision-matrix.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/sample/slides/decision-matrix.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/decision-matrix/body.html> .

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

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

<https://graphcentric.com/decks/sample.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/sample.html/.links/last-slide> , <https://graphcentric.com/decks/sample.html/.links/alternate-slides> , <https://graphcentric.com/decks/sample.html/.links/canonical> , <https://graphcentric.com/decks/sample.html/.links/first-slide>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/public.html>;
        gcs:template       <s3://graphcentric.com/decks-content/sample/body.html>;
        schema:name        "Sample Deck HTML" .

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

<https://graphcentric.com/decks/sample>
        rdf:type   gcs:WebResource;
        gcs:frame  <s3://graphcentric.com/decks-content/sample/frame.jsonld>;
        gcs:graph  <https://graphcentric.com/graphs/public-resources>;
        gcs:link   <https://graphcentric.com/decks/sample/.links/first-slide> , <https://graphcentric.com/decks/sample/.links/resource-configuration-html> , <https://graphcentric.com/decks/sample/.links/alternate-slides> , <https://graphcentric.com/decks/sample/.links/alternate-html> , <https://graphcentric.com/decks/sample/.links/item-decision-matrix> , <https://graphcentric.com/decks/sample/.links/item-sample-overview> , <https://graphcentric.com/decks/sample/.links/item-graphcentric-foundation> , <https://graphcentric.com/decks/sample/.links/item-comparison> , <https://graphcentric.com/decks/sample/.links/last-slide>;
        gcs:query  <s3://graphcentric.com/decks-content/sample/query.sparql> .

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

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

<https://graphcentric.com/decks/sample/slides/graphcentric-foundation.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/sample/slides/graphcentric-foundation.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/graphcentric-foundation/body.html> .

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

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

<https://graphcentric.com/decks/sample-slides>
        rdf:type     gcs:WebResource;
        gcs:graph    <https://graphcentric.com/graphs/public-resources>;
        schema:name  "Sample Deck" .

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

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

<https://graphcentric.com/decks/sample/.links/item-decision-matrix>
        rdf:type     gcs:Link;
        gcs:rel      "item";
        gcs:target   <https://graphcentric.com/decks/sample/slides/decision-matrix.html>;
        schema:name  "decision-matrix" .

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

<https://graphcentric.com/decks/sample/slides/sample-overview.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/sample/slides/sample-overview.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/sample-overview/body.html> .

<https://graphcentric.com/decks/sample/slides/comparison.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/sample/slides/comparison.html/.links/canonical>;
        gcs:outerTemplate  <s3://graphcentric.com/templates/slide.html>;
        gcs:template       <s3://graphcentric.com/decks-content/slides/comparison/body.html> .

<https://graphcentric.com/decks/sample/.links/last-slide>
        rdf:type     gcs:Link;
        gcs:rel      "last";
        gcs:target   <https://graphcentric.com/decks/sample/slides/decision-matrix.html>;
        schema:name  "Last slide" .

<https://graphcentric.com/decks/sample.html/.links/last-slide>
        rdf:type     gcs:Link;
        gcs:rel      "last";
        gcs:target   <https://graphcentric.com/decks/sample/slides/decision-matrix.html>;
        schema:name  "Last slide" .

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

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

<https://graphcentric.com/decks/sample.html/.links/alternate-slides>
        rdf:type     gcs:Link;
        gcs:rel      "alternate";
        gcs:target   <https://graphcentric.com/decks/sample-slides>;
        schema:name  "Sample Deck Slides" .

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

SPARQL Query

s3://graphcentric.com/decks-content/sample/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/sample> AS ?deck)
  BIND(<decks/sample-slides> AS ?slidesResource)
  BIND(<decks/sample/slides/sample-overview> 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) {
    ("sample-overview" 1)
    ("graphcentric-foundation" 2)
    ("comparison" 3)
    ("decision-matrix" 4)
  }

  VALUES (?slot ?speakerNotesHtml) {
    ("sample-overview" "<p>This opening slide introduces the contract: deck pages and presentation mode are assembled from linked slide resources instead of copying slide markup into each view.</p>")
    ("graphcentric-foundation" "<p>The image slide demonstrates that a reusable slide resource can own its visual treatment while the deck only decides where it appears.</p>")
    ("comparison" "<p>Use this slide to contrast reader-oriented scroll pages with independently addressable slide resources that carry their own query, frame, template, and links.</p>")
    ("decision-matrix" "<p>Close by naming the layers: slide definition, deck slot, and deck shell. The graph links carry ordering and navigation semantics.</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/sample#sample-overview>
        gcs:htmlUrl           <https://graphcentric.com/decks/sample/slides/sample-overview.html>;
        gcs:speakerNotesHtml  "<p>This opening slide introduces the contract: deck pages and presentation mode are assembled from linked slide resources instead of copying slide markup into each view.</p>";
        schema:name           "sample-overview";
        schema:position       1;
        schema:url            <https://graphcentric.com/decks/sample/slides/sample-overview> .

<https://graphcentric.com/decks/sample#graphcentric-foundation>
        gcs:htmlUrl           <https://graphcentric.com/decks/sample/slides/graphcentric-foundation.html>;
        gcs:speakerNotesHtml  "<p>The image slide demonstrates that a reusable slide resource can own its visual treatment while the deck only decides where it appears.</p>";
        schema:name           "graphcentric-foundation";
        schema:position       2;
        schema:url            <https://graphcentric.com/decks/sample/slides/graphcentric-foundation> .

<https://graphcentric.com/decks/sample#decision-matrix>
        gcs:htmlUrl           <https://graphcentric.com/decks/sample/slides/decision-matrix.html>;
        gcs:speakerNotesHtml  "<p>Close by naming the layers: slide definition, deck slot, and deck shell. The graph links carry ordering and navigation semantics.</p>";
        schema:name           "decision-matrix";
        schema:position       4;
        schema:url            <https://graphcentric.com/decks/sample/slides/decision-matrix> .

<https://graphcentric.com/decks/sample>
        rdf:type            schema:PresentationDigitalDocument;
        gcs:firstSlide      <https://graphcentric.com/decks/sample/slides/sample-overview>;
        gcs:slide           <https://graphcentric.com/decks/sample#sample-overview> , <https://graphcentric.com/decks/sample#graphcentric-foundation> , <https://graphcentric.com/decks/sample#comparison> , <https://graphcentric.com/decks/sample#decision-matrix>;
        gcs:slidesResource  <https://graphcentric.com/decks/sample-slides>;
        schema:description  "A sample GraphCentric slide deck that publishes the same HTML as a scrollable article and a keyboard-driven presentation.";
        schema:headline     "One source, two public views" .

<https://graphcentric.com/decks/sample#comparison>
        gcs:htmlUrl           <https://graphcentric.com/decks/sample/slides/comparison.html>;
        gcs:speakerNotesHtml  "<p>Use this slide to contrast reader-oriented scroll pages with independently addressable slide resources that carry their own query, frame, template, and links.</p>";
        schema:name           "comparison";
        schema:position       3;
        schema:url            <https://graphcentric.com/decks/sample/slides/comparison> .

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.