<?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:dct="http://purl.org/dc/terms/"
      xmlns:skos="http://www.w3.org/2004/02/skos/core#"
      xmlns:bibo="http://purl.org/ontology/bibo/"
      xmlns:bs="http://purl.org/ontology/bibo/status/"
      xmlns:foaf="http://xmlns.com/foaf/0.1/"
      xmlns:vann="http://purl.org/vocab/vann/"
      xmlns:qb="http://purl.org/linked-data/cube#"
      xmlns:ibis="https://vocab.methodandstructure.com/ibis#"
      xmlns:cgto="https://vocab.methodandstructure.com/graph-tool#"
      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/ skos: http://www.w3.org/2004/02/skos/core# 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/ qb: http://purl.org/linked-data/cube# ibis: https://vocab.methodandstructure.com/ibis# cgto: https://vocab.methodandstructure.com/graph-tool#"
      vocab="http://www.w3.org/1999/xhtml/vocab#" xml:lang="en">
  <head>
    <title about="#" property="dct:title">Collaborative Graph Tool Ontology</title>
    <base href="https://vocab.methodandstructure.com/graph-tool"/>
    <meta about="#" property="vann:preferredNamespacePrefix" content="cgto" 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 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>Version</dt>
        <dd property="owl:versionInfo" datatype="xsd:string">0.2</dd>
        <dt>Created</dt>
        <dd property="dct:created" datatype="xsd:dateTime" content="2022-12-04T20:12:02Z">December 4, 2022</dd>
        <dt>Updated</dt>
        <dd property="dct:modified" datatype="xsd:dateTime" content="2023-01-22T02:09:02Z">January 21, 2023</dd>
        <dd property="dct:modified" datatype="xsd:dateTime" content="2023-12-12T21:48:55Z">December 12, 2023</dd>
        <dd property="dct:modified" datatype="xsd:dateTime" content="2024-10-06T19:16:59Z">October 6, 2024</dd>
        <dd property="dct:modified" datatype="xsd:dateTime" content="2025-02-23T01:28:27Z">February 22, 2025</dd>
        <dd property="dct:modified" datatype="xsd:dateTime" content="2025-02-28T14:20:07Z">February 28, 2025</dd>
        <dd property="dct:modified" datatype="xsd:dateTime" content="2025-06-28T22:27:24Z">June 28, 2025</dd>
        <dt>Namespace URI</dt>
        <dd><a about="#" rel="sh:namespace vann:preferredNamespaceUri" href="#"><code>https://vocab.methodandstructure.com/graph-tool#</code></a></dd>
        <dt>Preferred Namespace Prefix</dt>
        <dd><code about="#" property="sh:prefix vann:preferredNamespacePrefix" datatype="xsd:token">cgto</code></dd>
      </dl>
      <p property="rdfs:comment">Ontologies like <a href="ibis#">the <abbr>IBIS</abbr> vocabulary</a> are intended to only convey their essential semantic content. There are nevertheless additional constructs, that do not belong in the core vocabulary, that need to be expressed in order to fully operationalize the information it describes as a piece of user-facing software. Such constructs include the users of the environment, and the graphical representation of the network itself, from colour palette to the relative (or absolute) geometry of the individual nodes.</p>
      <p>so what ingredients do we know we need?</p>
      <ul>
        <li>basic <abbr>ACL</abbr> for users (e.g. view-only, comment, write; users themselves can be <abbr>SIOC</abbr> that connects to <abbr>FOAF</abbr>)</li>
        <li>
          <p>something that describes colour palettes for classes/properties/individuals (borrow selectors from <abbr>SHACL</abbr>)</p>
          <ul>
            <li>should be able to derive palettes from rules</li>
            <li>should be able to describe some kind of matrix for eg class/property along one side (eg hue) and ui state (eg sat, lum) on the other</li>
            <li>should be able to delta the colour palette for subclasses etc</li>
          </ul>
        </li>
        <li>some way to say how labels are constructed (can use loupe)</li>
        <li>essential coordinate data for visual layouts (eg sugiyama rank/ordering)</li>
        <li>consider different view states (eg clustering, edge contraction)</li>
      </ul>
      <p>With respect to the graph itself, the goal of this vocabulary is to provide just the information that only needs to be computed when the graph's content is changed, so the computations can be cached and used as inputs to more than one view.</p>
    </div>
    <section>
      <h2>Classes</h2>
      <figure>
        <object data="graph-tool-classes.svg"><img src="graph-tool-classes" alt=""/></object>
        <figcaption>
          <p>This diagram shows the classes and properties defined in this document using solid lines, and third-party classes and properties using dashed lines.</p>
        </figcaption>
      </figure>
      <section id="Space" about="cgto:Space" typeof="owl:Class">
        <h3><code property="rdfs:label" datatype="xsd:token">Space</code></h3>
        <p property="rdfs:comment">A graph tool needs a shared logical space to lay out its universe of discourse.</p>
        <dl>
          <dt>Subclass of:</dt>
          <dd><a rel="rdfs:subClassOf" resource="sioc:Space" href="http://rdfs.org/sioc/spec/#term_Space"><code>sioc:Space</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="View" about="cgto:View" typeof="owl:Class">
        <h3><code property="rdfs:label" datatype="xsd:token">View</code></h3>
        <p property="rdfs:comment">A partially or fully computed geometric rendering of a (sub)graph, or the structured information needed to do so.</p>
        <!--
            <dl>
            <dt>Subclass of:</dt>
            <dd><a rel="rdfs:subClassOf" href="http://rdfs.org/sioc/ns#Space">sioc:Space</a></dd>
            </dl>-->
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="Error" about="cgto:Error" typeof="owl:Class">
        <h3><code property="rdfs:label" datatype="xsd:token">Error</code></h3>
        <p property="rdfs:comment">An error is a type of <code>cgto:View</code> the tool can send the user when something is wrong. It is more suitable to send as a response <em>body</em> than <code>http:Response</code>, which would be problematically self-referential.</p>
        <dl>
          <dt>Subclass of:</dt>
          <dd><a rel="rdfs:subClassOf" href="#View"><code>cgto:View</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="Index" about="cgto:Index" typeof="owl:Class">
        <h3><code property="rdfs:label" datatype="xsd:token">Index</code></h3>
        <p property="rdfs:comment">An index relates a <code>cgto:Space</code> to a set of <code>cgto:Inventory</code> resources, via a set of <code>cgto:Summary</code> resources.</p>
        <dl>
          <dt>Subclass of:</dt>
          <dd><a rel="rdfs:subClassOf" resource="rdfs:Container"  href="https://www.w3.org/TR/rdf11-schema/#ch_container"><code>rdfs:Container</code></a></dd>
          <dd><a rel="rdfs:subClassOf" resource="sioc:Container"  href="http://rdfs.org/sioc/spec/#term_Container"><code>sioc:Container</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="Inventory" about="cgto:Inventory" typeof="owl:Class">
        <h3><code property="rdfs:label" datatype="xsd:token">Inventory</code></h3>
        <p property="rdfs:comment">An inventory is a de facto grouping of resources according to some criterion.</p>
        <dl>
          <dt>Subclass of:</dt>
          <dd><a rel="rdfs:subClassOf" resource="rdfs:Container"  href="https://www.w3.org/TR/rdf11-schema/#ch_container"><code>rdfs:Container</code></a></dd>
          <dd><a rel="rdfs:subClassOf" resource="sioc:Container"  href="http://rdfs.org/sioc/spec/#term_Container"><code>sioc:Container</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="Summary" about="cgto:Summary" typeof="owl:Class">
        <h3><code property="rdfs:label" datatype="xsd:token">Summary</code></h3>
        <p property="rdfs:comment">A summary indexes the available <code>cgto:Inventory</code> resources.</p>
        <dl>
          <dt>Subclass of:</dt>
          <dd><a rel="rdfs:subClassOf" resource="qb:DataSet" href="https://www.w3.org/TR/vocab-data-cube/#reference-datasets"><code>qb:DataSet</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="Window" about="cgto:Window" typeof="owl:Class">
        <h3><code property="rdfs:label" datatype="xsd:token">Window</code></h3>
        <p property="rdfs:comment">A window represents a slice of another container, e.g. for pagination.</p>
        <dl>
          <dt>Subclass of:</dt>
          <dd><a rel="rdfs:subClassOf" resource="rdfs:Container"  href="https://www.w3.org/TR/rdf11-schema/#ch_container"><code>rdfs:Container</code></a></dd>
          <dd><a rel="rdfs:subClassOf" resource="sioc:Container"  href="http://rdfs.org/sioc/spec/#term_Container"><code>sioc:Container</code></a></dd>
        </dl>
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
      <section id="State" about="cgto:State" typeof="owl:Class">
        <h3><code property="rdfs:label" datatype="xsd:token">State</code></h3>
        <p property="rdfs:comment">A <code>cgto:State</code> relates elements of persistent application state, e.g. from the perspective of the user.</p>
	<!--
            <dl>
            <dt>Subclass of:</dt>
            <dd><a rel="rdfs:subClassOf" resource="rdfs:Container"  href="https://www.w3.org/TR/rdf11-schema/#ch_container"><code>rdfs:Container</code></a></dd>
            <dd><a rel="rdfs:subClassOf" resource="sioc:Container"  href="http://rdfs.org/sioc/spec/#term_Container"><code>sioc:Container</code></a></dd>
            </dl>-->
        <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
      </section>
    </section>
    <section>
      <h2>Properties</h2>
      <figure>
        <object type="image/svg+xml" data="graph-tool-properties.svg"><img src="graph-tool-properties" alt=""/></object>
        <figcaption>
          <p>This diagram depicts the ontology from the point of view of its properties.</p>
        </figcaption>
      </figure>
      <section id="sec-states">
	<h3>States</h3>
	<section id="focus" about="cgto:focus" typeof="owl:ObjectProperty owl:FunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">focus</code></h4>
          <p property="rdfs:comment">This property picks out the resource that is currently <q>in focus</q> to the user.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#State"><code>cgto:State</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#focus-of"><code>cgto:focus-of</code></a></dd>
            <!--<dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" resource="http://rdfs.org/sioc/ns#space_of" href="http://rdfs.org/sioc/spec/#term_space_of"><code>sioc:space_of</code></a></dd>-->
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="focus-of" about="cgto:focus-of" typeof="owl:ObjectProperty owl:InverseFunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">focus-of</code></h4>
          <p property="rdfs:comment">This property relates the focus back to the user state.</p>
          <dl>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#State"><code>cgto:State</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#focus"><code>cgto:focus</code></a></dd>
            <!--<dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" resource="http://rdfs.org/sioc/ns#has_space" href="http://rdfs.org/sioc/spec/#term_has_space"><code>sioc:space_of</code></a></dd>-->
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="owner" about="cgto:owner" typeof="owl:ObjectProperty owl:InverseFunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">owner</code></h4>
          <p property="rdfs:comment">This property relates a <code>cgto:State</code> to the <code>foaf:Agent</code> associated with it.</p>
	  <aside role="note">
	    <p property="skos:note">This property and its relatives originally related to <code>foaf:OnlineAccount</code>&#x2014;and may again&#x2014;although for operational reasons this was inconvenient at the time (<time>2025-03-12</time>).</p>
	  </aside>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#State"><code>cgto:State</code></a></dd>
            <dt>Range:</dt>
            <!--<dd><a rel="rdfs:range" resource="foaf:OnlineAccount" href="http://xmlns.com/foaf/spec/#term_OnlineAccount"><code>foaf:OnlineAccount</code></a></dd>-->
	    <dd><a rel="rdfs:range" resource="foaf:Agent" href="http://xmlns.com/foaf/spec/#term_Agent"><code>foaf:Agent</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#state"><code>cgto:state</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="state" about="cgto:state" typeof="owl:ObjectProperty owl:InverseFunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">state</code></h4>
          <p property="rdfs:comment">This property relates a <code>cgto:State</code> to the <code>foaf:Agent</code> associated with it.</p>
          <dl>
            <dt>Domain:</dt>
            <!--<dd><a rel="rdfs:domain" resource="foaf:OnlineAccount" href="http://xmlns.com/foaf/spec/#term_OnlineAccount"><code>foaf:OnlineAccount</code></a></dd>-->
            <dd><a rel="rdfs:domain" resource="foaf:Agent" href="http://xmlns.com/foaf/spec/#term_Agent"><code>foaf:Agent</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#State"><code>cgto:State</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#owner"><code>cgto:state</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="user" about="cgto:user" typeof="owl:ObjectProperty owl:InverseFunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">user</code></h4>
          <p property="rdfs:comment">This property relates the <code>cgto:Index</code> to the <code>foaf:Agent</code> that reprsents the current user.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Index"><code>cgto:Index</code></a></dd>
            <dt>Range:</dt>
            <!--<dd><a rel="rdfs:range" resource="foaf:OnlineAccount" href="http://xmlns.com/foaf/spec/#term_OnlineAccount"><code>foaf:OnlineAccount</code></a></dd>-->
            <dd><a rel="rdfs:range" resource="foaf:Agent" href="http://xmlns.com/foaf/spec/#term_Agent"><code>foaf:Agent</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#owner"><code>cgto:state</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
      </section>
      <section id="sec-views">
	<h3>Views</h3>
	<section id="view" about="cgto:view" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">view</code></h4>
          <p property="rdfs:comment">Relates the space to a view of said space.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Space"><code>cgto:Space</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#View"><code>cgto:View</code></a></dd>
            <dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" resource="http://rdfs.org/sioc/ns#space_of" href="http://rdfs.org/sioc/spec/#term_space_of"><code>sioc:space_of</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#view-of"><code>cgto:view-of</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="view-of" about="cgto:view-of" typeof="owl:ObjectProperty owl:FunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">view-of</code></h4>
          <p property="rdfs:comment">Relates a view back to its <code>cgto:Space</code>.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#View"><code>cgto:View</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Space"><code>cgto:Space</code></a></dd>
            <dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" resource="http://rdfs.org/sioc/ns#has_space" href="http://rdfs.org/sioc/spec/#term_has_space"><code>sioc:has_space</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#view"><code>cgto:view</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
      </section>
      <section id="sec-indices">
	<h3>Indices</h3>
	<section id="index" about="cgto:index" typeof="owl:ObjectProperty owl:FunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">index</code></h4>
          <p property="rdfs:comment">Connects the <code>cgto:Space</code> to its <code>cgto:Index</code> of resources.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Space"><code>cgto:Space</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Index"><code>cgto:Index</code></a></dd>
            <dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" resource="sioc:space_of" href="http://rdfs.org/sioc/spec/#term_space_of"><code>sioc:space_of</code></a></dd>
            <dd><a rel="rdfs:subPropertyOf" resource="xhv:index" href="https://www.w3.org/1999/xhtml/vocab#index"><code>xhv:index</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
      </section>
      <section id="sec-summaries">
	<h3>Summaries</h3>
	<section id="summary" about="cgto:summary" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">summary</code></h4>
          <p property="rdfs:comment">Connects the <code>cgto:Space</code> to its <code>cgto:Index</code> of resources.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Index"><code>cgto:Index</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Summary"><code>cgto:Summary</code></a></dd>
            <dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" resource="http://rdfs.org/sioc/ns#parent_of" href="http://rdfs.org/sioc/spec/#term_parent_of"><code>sioc:parent_of</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="by-class" about="cgto:by-class" typeof="owl:ObjectProperty owl:FunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">by-class</code></h4>
          <p property="rdfs:comment">Specifies the index of inventories organized by <code>rdfs:Class</code>.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Index"><code>cgto:Index</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Summary"><code>cgto:Summary</code></a></dd>
            <dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" href="#summary"><code>cgto:summary</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="by-property" about="cgto:by-property" typeof="owl:ObjectProperty owl:FunctionalProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">by-property</code></h4>
          <p property="rdfs:comment">Connects the <code>cgto:Space</code> to its <code>cgto:Index</code> of resources.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Index"><code>cgto:Index</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Summary"><code>cgto:Summary</code></a></dd>
            <dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" href="#summary"><code>cgto:summary</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
      </section>
      <section id="sec-inventories">
        <h3>Inventories</h3>
	<section id="instance-of" about="cgto:instance-of" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">instance-of</code></h4>
          <p property="rdfs:comment">The parameter specifying the classes that resources selected into the inventory are instances of.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Inventory"><code>cgto:Inventory</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="rdfs:Class" href="https://www.w3.org/TR/rdf11-schema/#ch_class"><code>rdfs:Class</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="instance-of" about="cgto:instance-of" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">instance-of</code></h4>
          <p property="rdfs:comment">The parameter specifying the classes that resources selected into the inventory are instances of.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Inventory"><code>cgto:Inventory</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="rdfs:Class" href="https://www.w3.org/TR/rdf11-schema/#ch_class"><code>rdfs:Class</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="in-domain-of" about="cgto:in-domain-of" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">in-domain-of</code></h4>
          <p property="rdfs:comment">The parameter specifying the property that resources selected into the inventory are in the domain of.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Inventory"><code>cgto:Inventory</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="rdf:Property" href="https://www.w3.org/TR/rdf11-schema/#ch_property"><code>rdf:Property</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="in-range-of" about="cgto:in-range-of" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">in-range-of</code></h4>
          <p property="rdfs:comment">The parameter specifying the property that resources selected into the inventory are in the range of.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Inventory"><code>cgto:Inventory</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="rdf:Property" href="https://www.w3.org/TR/rdf11-schema/#ch_property"><code>rdf:Property</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
        <section id="asserted" about="cgto:asserted" typeof="owl:DatatypeProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">asserted</code></h4>
          <p property="rdfs:comment">Specifies whether the inventory includes resources that are asserted from the parameters (assumed to be true).</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Inventory"><code>cgto:Inventory</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="xsd:boolean" href="https://www.w3.org/TR/xmlschema-2/#boolean"><code>xsd:boolean</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
        <section id="inferred" about="cgto:inferred" typeof="owl:DatatypeProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">inferred</code></h4>
          <p property="rdfs:comment">Specifies whether the inventory includes resources that are inferred from the parameters, irrespective of whether they are asserted.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Inventory"><code>cgto:Inventory</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="xsd:boolean" href="https://www.w3.org/TR/xmlschema-2/#boolean"><code>xsd:boolean</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
      </section>
      <section id="sec-windows">
	<h3>Windows</h3>
	<section id="window" about="cgto:window" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">window</code></h4>
          <p property="rdfs:comment">Relates a collection to an arbitrary window over the collection.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="rdfs:Container" href="https://www.w3.org/TR/rdf11-schema/#ch_container"><code>rdfs:Container</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Window"><code>cgto:Window</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#window-of"><code>cgto:window-of</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="window-of" about="cgto:window-of" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">window-of</code></h4>
          <p property="rdfs:comment">Points a window to the collection it slices.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" href="#Window"><code>cgto:Window</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="rdfs:Container" href="https://www.w3.org/TR/rdf11-schema/#ch_container"><code>rdfs:Container</code></a></dd>
            <dt>Inverse of:</dt>
            <dd><a rel="owl:inverseOf" href="#window"><code>cgto:window</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
	<section id="first-window" about="cgto:first-window" typeof="owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">first-window</code></h4>
          <p property="rdfs:comment">Points to the first window over a collection.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="rdfs:Container" href="https://www.w3.org/TR/rdf11-schema/#ch_container"><code>rdfs:Container</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Window"><code>cgto:Window</code></a></dd>
            <dt>Sub-property of:</dt>
            <dd><a rel="rdfs:subPropertyOf" href="#window"><code>cgto:window</code></a></dd>
            <dd><a rel="rdfs:subPropertyOf" resource="xhv:first" href="https://www.w3.org/1999/xhtml/vocab#first"><code>xhv:first</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
	</section>
      </section>
    </section>
    <section>
      <h2>Inventory Summaries</h2>
      <p>We use the <a about="#" rel="owl:imports" resource="qb:" href="https://www.w3.org/TR/vocab-data-cube/">Data Cube Ontology</a> to summarize and enumerate the resource inventories.</p>
      <section>
        <h3>Data Structure Definitions</h3>
        <p>Data sets are described by data structure definitions which specify different component properties.</p>
        <section id="resources-by-class" about="cgto:resources-by-class" typeof="qb:DataStructureDefinition">
          <h4><code property="rdfs:label" datatype="xsd:token">resources-by-class</code></h4>
          <p property="rdfs:comment">This structure describes a data set that tabulates subject resources of a certain <code>rdf:type</code>.</p>
          <dl rel="qb:component">
            <dt>Components:</dt>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:dimension" href="#class"><code>cgto:class</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:attribute" href="#subjects"><code>cgto:asserted-subjects</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:measure" href="#asserted-subject-count"><code>cgto:asserted-subject-count</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:attribute" href="#inferred-subjects"><code>cgto:inferred-subjects</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:measure" href="#inferred-subject-count"><code>cgto:inferred-subject-count</code></a></dd>
          </dl>
        </section>
        <section id="resources-by-property" about="cgto:resources-by-property" typeof="qb:DataStructureDefinition">
          <h4><code property="rdfs:label" datatype="xsd:token">resources-by-property</code></h4>
          <p property="rdfs:comment">This structure describes a data set that tabulates both subject and object resources by property (predicate).</p>
          <dl rel="qb:component">
            <dt>Components:</dt>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:dimension" href="#property"><code>cgto:property</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:attribute" href="#asserted-subjects"><code>cgto:asserted-subjects</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:measure" href="#asserted-subject-count"><code>cgto:asserted-subject-count</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:attribute" href="#asserted-objects"><code>cgto:asserted-objects</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:measure" href="#asserted-object-count"><code>cgto:asserted-object-count</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:attribute" href="#inferred-subjects"><code>cgto:inferred-subjects</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:measure" href="#inferred-subject-count"><code>cgto:inferred-subject-count</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:attribute" href="#inferred-objects"><code>cgto:inferred-objects</code></a></dd>
            <dd typeof="qb:ComponentSpecification"><a rel="qb:measure" href="#inferred-object-count"><code>cgto:inferred-object-count</code></a></dd>
          </dl>
        </section>
      </section>
      <section>
        <h3>Dimension Properties</h3>
        <p>Dimension properties denote the axes along which the data set can be partitioned.</p>
        <section id="class" about="cgto:class" typeof="qb:DimensionProperty owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">class</code></h4>
          <p property="rdfs:comment">Specifies the <code>owl:Class</code> found in the <code>rdf:type</code> of the subjects.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="rdfs:Class" href="https://www.w3.org/TR/rdf11-schema/#ch_class"><code>rdfs:Class</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
        <section id="property" about="cgto:property" typeof="qb:DimensionProperty owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">property</code></h4>
          <p property="rdfs:comment">Specifies the property (predicate) in the statements from which subject and object resources are enumerated.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="rdf:Property" href="https://www.w3.org/TR/rdf11-schema/#ch_property"><code>rdf:Property</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
      </section>
      <section>
        <h3>Measure Properties</h3>
        <p>Measure properties record the experimental data, which in this case amounts to counts of resources.</p>
        <section id="asserted-subject-count" about="cgto:asserted-subject-count" typeof="qb:MeasureProperty owl:DatatypeProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">asserted-subject-count</code></h4>
          <p property="rdfs:comment">Specifies the number of subject resources <em>asserted</em> to relate according to the given criterion.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="xsd:nonNegativeInteger" href="https://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"><code>xsd:nonNegativeInteger</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
        <section id="asserted-object-count" about="cgto:asserted-object-count" typeof="qb:MeasureProperty owl:DatatypeProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">asserted-object-count</code></h4>
          <p property="rdfs:comment"></p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="xsd:nonNegativeInteger" href="https://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"><code>xsd:nonNegativeInteger</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
        <section id="inferred-subject-count" about="cgto:inferred-subject-count" typeof="qb:MeasureProperty owl:DatatypeProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">inferred-subject-count</code></h4>
          <p property="rdfs:comment">Specifies the number of subject resources <em>inferred</em> to relate according to the given criterion.</p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="xsd:nonNegativeInteger" href="https://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"><code>xsd:nonNegativeInteger</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
        <section id="inferred-object-count" about="cgto:inferred-object-count" typeof="qb:MeasureProperty owl:DatatypeProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">inferred-object-count</code></h4>
          <p property="rdfs:comment"></p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" resource="xsd:nonNegativeInteger" href="https://www.w3.org/TR/xmlschema-2/#nonNegativeInteger"><code>xsd:nonNegativeInteger</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
      </section>
      <section>
        <h3>Attribute Properties</h3>
        <p>Attribute properties are used to qualify the data. In this case they are being appropriated to link to the actual inventories of resources.</p>
        <section id="asserted-subjects" about="cgto:asserted-subjects" typeof="qb:AttributeProperty owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">asserted-subjects</code></h4>
          <p property="rdfs:comment"></p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Inventory"><code>cgto:Inventory</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
        <section id="asserted-objects" about="cgto:asserted-objects" typeof="qb:AttributeProperty owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">asserted-objects</code></h4>
          <p property="rdfs:comment"></p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Inventory"><code>cgto:Inventory</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
        <section id="inferred-subjects" about="cgto:inferred-subjects" typeof="qb:AttributeProperty owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">inferred-subjects</code></h4>
          <p property="rdfs:comment"></p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Inventory"><code>cgto:Inventory</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
        <section id="inferred-objects" about="cgto:inferred-objects" typeof="qb:AttributeProperty owl:ObjectProperty">
          <h4><code property="rdfs:label" datatype="xsd:token">inferred-objects</code></h4>
          <p property="rdfs:comment"></p>
          <dl>
            <dt>Domain:</dt>
            <dd><a rel="rdfs:domain" resource="qb:Observation" href="https://www.w3.org/TR/vocab-data-cube/#ref_qb_Observation"><code>qb:Observation</code></a></dd>
            <dt>Range:</dt>
            <dd><a rel="rdfs:range" href="#Inventory"><code>cgto:Inventory</code></a></dd>
          </dl>
          <p><a rel="rdfs:isDefinedBy" href="#">Back to Top</a></p>
        </section>
      </section>
    </section>
    <section>
      <h2>References</h2>
      <ul rel="owl:imports">
	<li><a resource="qb:" href="https://www.w3.org/TR/vocab-data-cube/"><abbr>RDF</abbr> Data Cube Vocabulary</a></li>
	<li><a resource="rdfs:" href="https://www.w3.org/TR/rdf11-schema/"><abbr>RDF</abbr> Schema 1.1</a></li>
	<li><a resource="sioc:" href="http://rdfs.org/sioc/spec/"><abbr>SIOC</abbr></a></li>
	<li><a resource="xhv:" href="https://www.w3.org/1999/xhtml/vocab"><abbr>XHTML</abbr> Vocabulary</a></li>
      </ul>
    </section>
  </body>
</html>
