+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE Class SYSTEM "../../DTD">
+<Class>
+ <label xml:lang="en">Slot</label>
+ <comment xml:lang="en">
+ <p>
+ A <ref target="ore:Proxy">Proxy</ref> representing a single item associated with a numeric <ref target="olo:index">index</ref>.
+ </p>
+ <p>
+ The <ref target="olo:item">item</ref> of a Slot provides the thing being it proxies.
+ </p>
+ <p>
+ When an <ref target="OrderedAggregation">Ordered Aggregation</ref> <ref target="hasSlot">has a slot</ref>, its index must be unique within that Ordered Aggregation.
+ However, Slots are permitted to <ref target="ore:proxyIn">be proxies in</ref> other kinds of <ref target="ore:Aggregation">Aggregation</ref>, in which case index uniqueness is not required.
+ </p>
+ <p>
+ When a Slot <ref target="olo:ordered_list">has an ordered list</ref>, its index should be less than or equal to the <ref target="olo:length">length</ref> of that <ref target="olo:OrderedList">Ordered List</ref>.
+ </p>
+ </comment>
+ <isDefinedBy>
+ <SpecificResource source="(OLO)" fragment="Slot"/>
+ </isDefinedBy>
+ <subClassOf>
+ <resource name="ore:Proxy"/>
+ </subClassOf>
+ <subClassOf>
+ <Restriction>
+ <onProperty>
+ <resource name="olo:index"/>
+ </onProperty>
+ <cardinality>1</cardinality>
+ </Restriction>
+ </subClassOf>
+ <subClassOf>
+ <Restriction>
+ <onProperty>
+ <resource name="olo:item"/>
+ </onProperty>
+ <cardinality>1</cardinality>
+ </Restriction>
+ </subClassOf>
+ <hasKey>
+ <ObjectProperty>
+ <inverseOf>
+ <resource name="hasSlot"/>
+ </inverseOf>
+ </ObjectProperty>
+ <resource name="olo:index"/>
+ </hasKey>
+</Class>