<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="/transform"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
      xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
      xmlns:owl="http://www.w3.org/2002/07/owl#"
      xmlns:sh="http://www.w3.org/ns/shacl#"
      xmlns:xhv="http://www.w3.org/1999/xhtml/vocab#"
      xmlns:bibo="http://purl.org/ontology/bibo/"
      xmlns:bs="http://purl.org/ontology/bibo/status/"
      xmlns:dcat="http://www.w3.org/ns/dcat#"
      xmlns:dct="http://purl.org/dc/terms/"
      xmlns:foaf="http://xmlns.com/foaf/0.1/"
      xmlns:ht="http://www.w3.org/2011/http#"
      xmlns:pav="http://purl.org/pav/"
      xmlns:prov="http://www.w3.org/ns/prov#"
      xmlns:skos="http://www.w3.org/2004/02/skos/core#"
      xmlns:vann="http://purl.org/vocab/vann/"
      xmlns:cm="https://vocab.methodandstructure.com/cache-metadata#"
      prefix="rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# rdfs: http://www.w3.org/2000/01/rdf-schema# xsd: http://www.w3.org/2001/XMLSchema# owl: http://www.w3.org/2002/07/owl# sh: http://www.w3.org/ns/shacl# xhv: http://www.w3.org/1999/xhtml/vocab# dct: http://purl.org/dc/terms/ ht: http://www.w3.org/2011/http# skos: http://www.w3.org/2004/02/skos/core# pav: http://purl.org/pav/ prov: http://www.w3.org/ns/prov# dcat: http://www.w3.org/ns/dcat# bibo: http://purl.org/ontology/bibo/ bs: http://purl.org/ontology/bibo/status/ foaf: http://xmlns.com/foaf/0.1/ vann: http://purl.org/vocab/vann/ cache: https://vocab.methodandstructure.com/cache-metadata#"
      vocab="http://www.w3.org/1999/xhtml/vocab#" xml:lang="en">
  <head>
    <title about="#" property="dct:title">Cache Entry Metadata Vocabulary</title>
    <base href="https://vocab.methodandstructure.com/cache-metadata"/>
    <meta about="#" property="vann:preferredNamespacePrefix" content="itcv" datatype="xsd:token"/>
    <link about="#" rel="rdfs:isDefinedBy bibo:uri" href="#"/>
    <link rel="bibo:status" href="http://purl.org/ontology/bibo/status/draft"/>
    <link rel="up top contents index" href="/"/>
  </head>
  <body about="" typeof="bibo:Specification">
    <div rel="foaf:primaryTopic" resource="#" typeof="owl:Ontology">
      <dl>
        <dt>Author</dt>
        <dd><a rel="dct:creator" href="https://doriantaylor.com/person/dorian-taylor#me" typeof="foaf:Person"><span property="foaf:name">Dorian Taylor</span></a></dd>
        <dt>Created</dt>
        <dd property="dct:created" datatype="xsd:dateTime" content="2025-10-04T02:17:27Z">October 3, 2025</dd>
        <!--
            <dt>Updated</dt>
            <dd property="dct:modified" datatype="xsd:dateTime" content="2025-10-04T02:17:14Z">October 9, 2023</dd> -->
        <dt>Namespace URI</dt>
        <dd><a href="#"><code>https://vocab.methodandstructure.com/cache-metadata#</code></a></dd>
        <dt>Preferred Namespace Prefix</dt>
        <dd><code about="#" property="vann:preferredNamespacePrefix" datatype="xsd:token">cache</code></dd>
      </dl>
      <p property="rdfs:comment dct:description">This vocabulary is intended to describe the metadata necessary to positively identify <abbr>HTTP</abbr> cache entries.</p>
      <figure>
        <pre>@prefix cache: &lt;https://vocab.methodandstructure.com/cache-metadata#> .
@prefix tfo:   &lt;https://vocab.methodandstructure.com/transformation#> .
@prefix dct:   &lt;http://purl.org/dc/terms/> .
@prefix ht:    &lt;http://www.w3.org/2011/http#> .
@prefix hth:   &lt;http://www.w3.org/2011/http-headers#> .
@prefix htm:   &lt;http://www.w3.org/2011/http-methods#> .
@prefix prov:  &lt;http://www.w3.org/ns/prov#> .
@prefix xsd:   &lt;http://www.w3.org/2001/XMLSchema#> .

&lt;urn:uuid:b30c0e75-6b53-4212-8b95-a04629aa03d9> a cache:Entry ;
  cache:entity &lt;ni:///sha-256;ocz5wuIt2_E5vOW_DqPkJSONCUg61TPJ8c81fBKH5co> ;
  cache:expires "2025-10-07T01:52:07Z"^^xsd:dateTime ;
  cache:header [
    a ht:RequestHeader ;
    ht:hdrName hth:accept ;
    ht:fieldName "Accept";
    ht:fieldValue "text/html, application/xhtml+xml, */*;q=0.1" ], [
    a ht:RequestHeader ;
    ht:hdrName hth:accept-language ;
    ht:fieldName "Accept-Language";
    ht:fieldValue "en-us, en, fr;q=0.8" ] ;
  cache:method htm:GET ;
  cache:origin &lt;https://internet.home/page> ;
  cache:principal &lt;mailto:some@personal.email> ;
  dct:format "text/html"^^tfo:content-type ;
  dct:language "en"^^xsd:token ;
  dct:modified "2025-10-07T01:22:07Z"^^xsd:dateTime ;
  prov:generatedAtTime "2025-10-07T01:22:07Z"^^xsd:dateTime .</pre>
  <figcaption>
    <p><a href="https://www.w3.org/TR/turtle/">Turtle</a> serialization of an individual cache entry.</p>
  </figcaption>
      </figure>
    </div>
    <section id="ch.classes" rel="dct:hasPart" resource="#ch.classes" typeof="bibo:DocumentPart">
      <h2 property="dct:title">Classes</h2>
      <figure>
        <object type="image/svg+xml" data="cache-metadata-classes.svg"><img src="cache-metadata-classes" alt=""/></object>
      </figure>
      <section id="Entry" about="cache:Entry" typeof="owl:Class">
        <h3 property="rdfs:label"><code>Entry</code></h3>
        <p property="rdfs:comment">The class <code>cache:Entry</code> represents (canonically) an individual <abbr>HTTP</abbr> cache entry.</p>
        <dl>
          <dt>Subclass of:</dt>
          <dd><a rel="rdfs:subClassOf" resource="prov:Entity" href="https://www.w3.org/TR/prov-o/#Entity"><code>prov:Entity</code></a></dd>
          <dt>Properties:</dt>
          <dd><a rev="rdfs:domain" href="#entity"><code>cache:entity</code></a></dd>
          <dd><a rev="rdfs:domain" href="#expires"><code>cache:expires</code></a></dd>
          <dd><a rev="rdfs:domain" href="#header"><code>cache:header</code></a></dd>
          <dd><a rev="rdfs:domain" href="#method"><code>cache:method</code></a></dd>
          <dd><a rev="rdfs:domain" href="#origin"><code>cache:origin</code></a></dd>
          <dd><a rev="rdfs:domain" href="#principal"><code>cache:principal</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
    </section>
    <section id="ch.properties" rel="dct:hasPart" resource="#ch.properties" typeof="bibo:DocumentPart">
      <h2 property="dct:title">Properties</h2>
      <figure>
        <object type="image/svg+xml" data="cache-metadata-properties.svg"><img src="cache-metadata-properties" alt=""/></object>
      </figure>
      <section id="entity" about="cache:entity" typeof="owl:ObjectProperty owl:FunctionalProperty">
        <h3 property="rdfs:label"><code>entity</code></h3>
        <p property="rdfs:comment">This denotes the actual literal representation of the cache entry.</p>
        <dl>
          <dt>Domain:</dt>
          <dd><a rel="rdfs:domain" href="#Entry"><code>cache:Entry</code></a></dd>
          <dt>Range:</dt>
          <dd><a rel="rdfs:range" resource="rdfs:Resource" href="https://www.w3.org/TR/rdf-schema/#ch_resource"><code>rdfs:Resource</code></a></dd>
          <dt>Cardinality:</dt>
          <dd><code property="owl:cardinality" datatype="xsd:integer">1</code></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="expires" about="cache:expires" typeof="owl:DatatypeProperty">
        <h3 property="rdfs:label"><code>expires</code></h3>
        <p property="rdfs:comment">The <code>xsd:dateTime</code> when the cache expires.</p>
        <dl>
          <dt>Domain:</dt>
          <dd><a rel="rdfs:domain" href="#Entry"><code>cache:Entry</code></a></dd>
          <dt>Range:</dt>
          <dd><a rel="rdfs:range" resource="xsd:dateTime" href="https://www.w3.org/TR/xmlschema11-2/#dateTime"><code>xsd:dateTime</code></a></dd>
          <dt>Cardinality:</dt>
          <dd><code property="owl:cardinality" datatype="xsd:integer">1</code></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="header" about="cache:header" typeof="owl:ObjectProperty">
        <h3 property="rdfs:label"><code>header</code></h3>
        <p property="rdfs:comment">Denotes an individual <abbr>HTTP</abbr> header.</p>
        <dl>
          <dt>Domain:</dt>
          <dd><a rel="rdfs:domain" href="#Entry"><code>cache:Entry</code></a></dd>
          <dt>Range:</dt>
          <dd><a rel="rdfs:range" resource="ht:MessageHeader" href="https://www.w3.org/TR/HTTP-in-RDF10/#MessageHeaderClass"><code>ht:MessageHeader</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="method" about="cache:method" typeof="owl:ObjectProperty owl:FunctionalProperty">
        <h3 property="rdfs:label"><code>method</code></h3>
        <p property="rdfs:comment">Denotes the <abbr>HTTP</abbr> method of the associated request.</p>
        <dl>
          <dt>Domain:</dt>
          <dd><a rel="rdfs:domain" href="#Entry"><code>cache:Entry</code></a></dd>
          <dt>Range:</dt>
          <dd><a rel="rdfs:range" resource="ht:Method" href="https://www.w3.org/TR/HTTP-in-RDF10/#MethodClass"><code>ht:Method</code></a></dd>
          <dt>Cardinality:</dt>
          <dd><code property="owl:cardinality" datatype="xsd:integer">1</code></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="origin" about="cache:origin" typeof="owl:ObjectProperty owl:FunctionalProperty">
        <h3 property="rdfs:label"><code>origin</code></h3>
        <p property="rdfs:comment">This relates the cache entry to the origin resource that was retrieved.</p>
        <dl>
          <dt>Domain:</dt>
          <dd><a rel="rdfs:domain" href="#Entry"><code>cache:Entry</code></a></dd>
          <dt>Range:</dt>
          <dd><a rel="rdfs:range" resource="rdfs:Resource" href="https://www.w3.org/TR/rdf-schema/#ch_resource"><code>rdfs:Resource</code></a></dd>
          <dt>Cardinality:</dt>
          <dd><code property="owl:cardinality" datatype="xsd:integer">1</code></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="principal" about="cache:principal" typeof="owl:ObjectProperty owl:FunctionalProperty">
        <h3 property="rdfs:label"><code>principal</code></h3>
        <p property="rdfs:comment">This relates the cache entry to an authentication principal, if applicable.</p>
        <aside role="note">
          <p property="skos:usageNote">The presence of a principal implies the cache entry is private.</p>
        </aside>
        <dl>
          <dt>Domain:</dt>
          <dd><a rel="rdfs:domain" href="#"><code>cache:Entry</code></a></dd>
          <dt>Range:</dt>
          <dd><a rel="rdfs:range" href="#"><code>rdfs:Resource</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
    </section>
    <section id="ch.references" rel="dct:hasPart" resource="#ch.references" typeof="bibo:DocumentPart">
      <h2 property="dct:title">References</h2>
      <ul>
        <li rel="owl:imports" resource="ht:"><a rel="rdfs:seeAlso" href="https://www.w3.org/TR/HTTP-in-RDF10/"><span property="dct:title"><abbr>HTTP</abbr> Vocabulary in <abbr>RDF</abbr> 1.0</span></a></li>
        <li rel="owl:imports" resource="prov:"><a rel="rdfs:seeAlso" href="https://www.w3.org/TR/prov-o/"><span property="dct:title"><abbr>PROV-O</abbr>: The <abbr>PROV</abbr> Ontology</span></a></li>
        <li><a rel="rdfs:seeAlso" href="https://pav-ontology.github.io/pav/"><span property="dct:title"><abbr>PAV</abbr> &#x2014; Provenance, Authoring and Versioning</span></a></li>
        <li><a rel="rdfs:seeAlso" href="https://www.dublincore.org/specifications/dublin-core/dcmi-terms/"><abbr>DCMI</abbr> Metadata Terms</a></li>
      </ul>
    </section>
  </body>
</html>
