<!ELEMENT Restriction (onProperty,(((minQualifiedCardinality|maxQualifiedCardinality|qualifiedCardinality),(onClass|onDataRange))|allValuesFrom|cardinality|hasValue|hasSelf|minCardinality|maxCardinality|someValuesFrom))>
<!-- Declarations -->
-<!ELEMENT Class (%annotations;,((equivalentClass*,subClassOf*,superClassOf*,disjointWith*,hasKey*)|complementOf|disjointUnionOf|intersectionOf|oneOf|unionOf))>
+<!ELEMENT Class (%annotations;,((equivalentClass*,disjointUnionOf*,subClassOf*,superClassOf*,disjointWith*,hasKey*)|complementOf|intersectionOf|oneOf|unionOf))>
<!ATTLIST Class
name CDATA #IMPLIED
status (plumbing|unstable|testing|stable|archaic) #IMPLIED
<?xml version="1.0"?>
<!--
-SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE Class SYSTEM "../../DTD">
</allValuesFrom>
</Restriction>
</subClassOf>
+ <subClassOf>
+ <Restriction>
+ <onProperty>
+ <resource name="anno:refinedBy"/>
+ </onProperty>
+ <allValuesFrom>
+ <Class>
+ <complementOf>
+ <resource name="anno:State"/>
+ </complementOf>
+ </Class>
+ </allValuesFrom>
+ </Restriction>
+ </subClassOf>
</Class>
<?xml version="1.0"?>
<!--
-SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE Class SYSTEM "../../DTD">
<isDefinedBy>
<SpecificResource source="(AWOL)" fragment="FeedOrEntry"/>
</isDefinedBy>
- <equivalentClass>
- <Class>
- <unionOf>
- <resource name="awol:Feed"/>
- <resource name="awol:Entry"/>
- </unionOf>
- </Class>
- </equivalentClass>
+ <disjointUnionOf>
+ <resource name="awol:Feed"/>
+ <resource name="awol:Entry"/>
+ </disjointUnionOf>
<subClassOf>
<resource name="awol:Version"/>
</subClassOf>
<?xml version="1.0"?>
<!--
-SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE Class SYSTEM "../../DTD">
<label xml:lang="en">License Document</label>
<comment xml:lang="en">
<p>
- A legal document giving official permission to do something with a resource.
+ A legal <ref target="foaf:Document">Document</ref> giving official permission to do something with a resource.
</p>
</comment>
<isDefinedBy>
<subClassOf>
<resource name="dcterms:RightsStatement"/>
</subClassOf>
+ <subClassOf>
+ <resource name="foaf:Document"/>
+ </subClassOf>
</Class>
<?xml version="1.0"?>
<!--
-SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE Class SYSTEM "../../DTD">
<isDefinedBy>
<SpecificResource source="(DCMI)" fragment="http://purl.org/dc/terms/LocationPeriodOrJurisdiction"/>
</isDefinedBy>
+ <equivalentClass>
+ <Class>
+ <unionOf>
+ <resource name="dcterms:Jurisdiction"/>
+ <resource name="dcterms:Location"/>
+ <resource name="dcterms:PeriodOfTime"/>
+ </unionOf>
+ </Class>
+ </equivalentClass>
</Class>
<?xml version="1.0"?>
<!--
-SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE Class SYSTEM "../../DTD">
<isDefinedBy>
<SpecificResource source="(DCMI)" fragment="http://purl.org/dc/terms/MediaType"/>
</isDefinedBy>
+ <equivalentClass>
+ <Class>
+ <unionOf>
+ <resource name="dcterms:FileFormat"/>
+ <resource name="dcterms:PhysicalMedium"/>
+ </unionOf>
+ </Class>
+ </equivalentClass>
<subClassOf>
<resource name="dcterms:MediaTypeOrExtent"/>
</subClassOf>
<?xml version="1.0"?>
<!--
-SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE Class SYSTEM "../../DTD">
<isDefinedBy>
<SpecificResource source="(DCMI)" fragment="http://purl.org/dc/terms/MediaTypeOrExtent"/>
</isDefinedBy>
+ <equivalentClass>
+ <Class>
+ <unionOf>
+ <resource name="dcterms:MediaType"/>
+ <resource name="dcterms:SizeOrDuration"/>
+ </unionOf>
+ </Class>
+ </equivalentClass>
</Class>
<equivalentClass>
<resource name="dcterms:Agent"/>
</equivalentClass>
- <disjointWith>
- <resource name="foaf:Document"/>
- </disjointWith>
- <disjointWith>
- <resource name="foaf:Project"/>
- </disjointWith>
</Class>
<disjointWith>
<resource name="foaf:Agent"/>
</disjointWith>
- <disjointWith>
- <resource name="foaf:Project"/>
- </disjointWith>
</Class>
<?xml version="1.0"?>
<!--
-SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
<label xml:lang="en">has coverage</label>
<comment xml:lang="en">
<p>
- A <ref target="dcterms:Location">Location</ref>, <ref target="dcterms:PeriodOfTime">PeriodOfTime</ref>, or <ref target="dcterms:Jurisdiction">Jurisdiction</ref> of this thing, which this thing is applicable to, or under which this thing is relevant.
+ A <ref target="dcterms:LocationPeriodOrJurisdiction">Location, Period, Or Jurisdiction</ref> of this thing, which this thing is applicable to, or under which this thing is relevant.
</p>
<p>
<ptr target="(DCMI)"/> states that because coverage is so broadly defined, it is preferable to use the more specific subproperties <ptr target="dcterms:temporal"/> and <ptr target="dcterms:spatial"/>.
<SpecificResource source="(DCMI)" fragment="http://purl.org/dc/terms/coverage"/>
</isDefinedBy>
<range>
- <Class>
- <unionOf>
- <resource name="dcterms:Location"/>
- <resource name="dcterms:PeriodOfTime"/>
- <resource name="dcterms:Jurisdiction"/>
- </unionOf>
- </Class>
+ <resource name="dcterms:LocationPeriodOrJurisdiction"/>
</range>
</ObjectProperty>
<?xml version="1.0"?>
<!--
-SPDX-FileCopyrightText: 2024 Lady <https://www.ladys.computer/about/#lady>
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
SPDX-License-Identifier: CC0-1.0
-->
<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
<label xml:lang="en">in format</label>
<comment xml:lang="en">
<p>
- A <ref target="dcterms:FileFormat">File Format</ref>, <ref target="dcterms:PhysicalMedioum">Physical Medium</ref>, or <ref target="dcterms:SizeOrDuration">Size Or Duration</ref> of this thing.
+ A <ref target="dcterms:MediaTypeOrExtent">Media Type Or Extent</ref> of this thing.
</p>
</comment>
<isDefinedBy>
<SpecificResource source="(DCMI)" fragment="http://purl.org/dc/terms/format"/>
</isDefinedBy>
<range>
- <Class>
- <unionOf>
- <resource name="dcterms:MediaType"/>
- <resource name="dcterms:SizeOrDuration"/>
- </unionOf>
- </Class>
+ <resource name="dcterms:MediaTypeOrExtent"/>
</range>
</ObjectProperty>
<key name="Vocab:inverse-class" match="owl:Class|rdfs:Datatype" use="owl:complementOf/@rdf:resource"/>
<key name="Vocab:inverse-property" match="owl:DatatypeProperty|owl:ObjectProperty" use="owl:inverseOf/@rdf:resource"/>
<key name="Vocab:disjoint-class" match="owl:Class|rdfs:Datatype" use="owl:disjointWith/@rdf:resource"/>
+ <key name="Vocab:disjoint-class-union" match="owl:Class" use="owl:disjointUnionOf/rdf:Description/@rdf:about"/>
<key name="Vocab:disjoint-property" match="owl:DatatypeProperty|owl:ObjectProperty" use="owl:propertyDisjointWith/@rdf:resource"/>
<exslfunc:function name="Vocab:get-equivalents">
<param name="resource-nodes"/>
<with-param name="source" select="string(@rdf:about)"/>
</apply-templates>
</for-each>
+ <if test="$relationship-names/Vocab:in-union">
+ <for-each select="key(concat($relationship-key, '-union'), $source)">
+ <apply-templates select="*[local-name()=$relationship-names/Vocab:in-union/Vocab:local-name and namespace-uri()=$relationship-names/Vocab:in-union/Vocab:namespace]/*" mode="Vocab:format-get">
+ <with-param name="source" select="string(@rdf:about)"/>
+ </apply-templates>
+ </for-each>
+ </if>
</for-each>
</for-each>
</variable>
+ <variable name="filter-fragment">
+ <copy-of select="$exclude"/>
+ <if test="not($include-self)">
+ <copy-of select="$equivalents"/>
+ </if>
+ </variable>
<for-each select="exsl:node-set($unfiltered-result-fragment)/*">
- <copy-of select="self::*[not(@rdf:about and ($exclude|preceding-sibling::*)/@rdf:about[string()=string(current()/@rdf:about)])]"/>
+ <copy-of select="self::*[not(@rdf:about and (exsl:node-set($filter-fragment)/*|preceding-sibling::*)/@rdf:about[string()=string(current()/@rdf:about)])]"/>
</for-each>
</if>
</variable>
</otherwise>
</choose>
</element>
+ <if test="$relationship='disjoint' and $kind='class'">
+ <element name="Vocab:in-union">
+ <element name="Vocab:local-name">
+ <text>disjointUnionOf</text>
+ </element>
+ <element name="Vocab:namespace">
+ <text>http://www.w3.org/2002/07/owl#</text>
+ </element>
+ </element>
+ </if>
</variable>
<exslfunc:result select="exsl:node-set($result-fragment)"/>
</exslfunc:function>
</choose>
</element>
</if>
+ <if test="owl:disjointUnionOf">
+ <element name="div" namespace="&xhtml;">
+ <element name="dt" namespace="&xhtml;">
+ &en;
+ <text>Disjoint Union Of</text>
+ </element>
+ <for-each select="owl:disjointUnionOf">
+ <element name="dd" namespace="&xhtml;">
+ <for-each select="*">
+ <apply-templates select="." mode="Vocab:render-class"/>
+ <if test="position()<last()">
+ <text>, </text>
+ </if>
+ </for-each>
+ </element>
+ </for-each>
+ </element>
+ </if>
<if test="$inverses">
<choose>
<when test="$kind='class'">
</for-each>
</element>
</if>
- <if test="rdfs:domain">
- <element name="div" namespace="&xhtml;">
- <element name="dt" namespace="&xhtml;">
- &en;
- <text>Domain</text>
- </element>
- <for-each select="rdfs:domain">
- <element name="dd" namespace="&xhtml;">
- <apply-templates select="(@rdf:resource|*)[1]" mode="Vocab:render-class"/>
- </element>
- </for-each>
- </element>
- </if>
- <if test="rdfs:range">
- <element name="div" namespace="&xhtml;">
- <element name="dt" namespace="&xhtml;">
- &en;
- <text>Range</text>
- </element>
- <for-each select="rdfs:range">
- <element name="dd" namespace="&xhtml;">
- <apply-templates select="(@rdf:resource|*)[1]" mode="Vocab:render-class"/>
- </element>
- </for-each>
- </element>
- </if>
<if test="$disjoints">
<choose>
<when test="$kind='class'">
</when>
</choose>
</if>
+ <if test="rdfs:domain">
+ <element name="div" namespace="&xhtml;">
+ <element name="dt" namespace="&xhtml;">
+ &en;
+ <text>Domain</text>
+ </element>
+ <for-each select="rdfs:domain">
+ <element name="dd" namespace="&xhtml;">
+ <apply-templates select="(@rdf:resource|*)[1]" mode="Vocab:render-class"/>
+ </element>
+ </for-each>
+ </element>
+ </if>
+ <if test="rdfs:range">
+ <element name="div" namespace="&xhtml;">
+ <element name="dt" namespace="&xhtml;">
+ &en;
+ <text>Range</text>
+ </element>
+ <for-each select="rdfs:range">
+ <element name="dd" namespace="&xhtml;">
+ <apply-templates select="(@rdf:resource|*)[1]" mode="Vocab:render-class"/>
+ </element>
+ </for-each>
+ </element>
+ </if>
<if test="skos:inScheme">
<element name="div" namespace="&xhtml;">
<element name="dt" namespace="&xhtml;">