]> Lady’s Gitweb - Vocab/commitdiff
Add O·A·I Ore and P·C·D·M
authorLady <redacted>
Tue, 18 Feb 2025 02:42:52 +0000 (21:42 -0500)
committerLady <redacted>
Tue, 18 Feb 2025 02:46:30 +0000 (21:46 -0500)
This required adding support for Skos “has broader” and “has narrower”.

63 files changed:
DTD
data/annotation_properties/ore¦similarTo [new file with mode: 0644]
data/classes/ore¦AggregatedResource [new file with mode: 0644]
data/classes/ore¦Aggregation [new file with mode: 0644]
data/classes/ore¦Proxy [new file with mode: 0644]
data/classes/pcdmuse¦ExtractedText [new file with mode: 0644]
data/classes/pcdmuse¦IntermediateFile [new file with mode: 0644]
data/classes/pcdmuse¦OriginalFile [new file with mode: 0644]
data/classes/pcdmuse¦PreservationFile [new file with mode: 0644]
data/classes/pcdmuse¦ServiceFile [new file with mode: 0644]
data/classes/pcdmuse¦ThumbnailImage [new file with mode: 0644]
data/classes/pcdmuse¦Transcript [new file with mode: 0644]
data/classes/pcdmworks¦FileSet [new file with mode: 0644]
data/classes/pcdmworks¦Work [new file with mode: 0644]
data/classes/pcdm¦Collection [new file with mode: 0644]
data/classes/pcdm¦File [new file with mode: 0644]
data/classes/pcdm¦Object [new file with mode: 0644]
data/named_individuals/_IIIF_ [new file with mode: 0644]
data/named_individuals/_OAI-ORE_ [new file with mode: 0644]
data/named_individuals/_PCDM_ [new file with mode: 0644]
data/named_individuals/pcdmformat¦Archive [new file with mode: 0644]
data/named_individuals/pcdmformat¦Audio [new file with mode: 0644]
data/named_individuals/pcdmformat¦Database [new file with mode: 0644]
data/named_individuals/pcdmformat¦Dataset [new file with mode: 0644]
data/named_individuals/pcdmformat¦Document [new file with mode: 0644]
data/named_individuals/pcdmformat¦Email [new file with mode: 0644]
data/named_individuals/pcdmformat¦Executable [new file with mode: 0644]
data/named_individuals/pcdmformat¦FileHash [new file with mode: 0644]
data/named_individuals/pcdmformat¦Font [new file with mode: 0644]
data/named_individuals/pcdmformat¦GIS [new file with mode: 0644]
data/named_individuals/pcdmformat¦HTML [new file with mode: 0644]
data/named_individuals/pcdmformat¦Image [new file with mode: 0644]
data/named_individuals/pcdmformat¦Markup [new file with mode: 0644]
data/named_individuals/pcdmformat¦Media [new file with mode: 0644]
data/named_individuals/pcdmformat¦MediaList [new file with mode: 0644]
data/named_individuals/pcdmformat¦Model [new file with mode: 0644]
data/named_individuals/pcdmformat¦PageDescription [new file with mode: 0644]
data/named_individuals/pcdmformat¦Presentation [new file with mode: 0644]
data/named_individuals/pcdmformat¦RasterImage [new file with mode: 0644]
data/named_individuals/pcdmformat¦Software [new file with mode: 0644]
data/named_individuals/pcdmformat¦SourceCode [new file with mode: 0644]
data/named_individuals/pcdmformat¦Spreadsheet [new file with mode: 0644]
data/named_individuals/pcdmformat¦StructuredText [new file with mode: 0644]
data/named_individuals/pcdmformat¦Text [new file with mode: 0644]
data/named_individuals/pcdmformat¦Unknown [new file with mode: 0644]
data/named_individuals/pcdmformat¦UnstructuredText [new file with mode: 0644]
data/named_individuals/pcdmformat¦VectorImage [new file with mode: 0644]
data/named_individuals/pcdmformat¦Video [new file with mode: 0644]
data/named_individuals/pcdmformat¦Website [new file with mode: 0644]
data/object_properties/ore¦aggregates [new file with mode: 0644]
data/object_properties/ore¦isAggregatedBy [new file with mode: 0644]
data/object_properties/ore¦lineage [new file with mode: 0644]
data/object_properties/ore¦proxyFor [new file with mode: 0644]
data/object_properties/ore¦proxyIn [new file with mode: 0644]
data/object_properties/pcdm¦hasFile [new file with mode: 0644]
data/object_properties/pcdm¦hasMember [new file with mode: 0644]
data/object_properties/pcdm¦hasRelatedObject [new file with mode: 0644]
data/object_properties/pcdm¦isFileOf [new file with mode: 0644]
data/object_properties/pcdm¦isMemberOf [new file with mode: 0644]
data/object_properties/pcdm¦isRelatedObjectOf [new file with mode: 0644]
data/ontologies/¦
parsers/ontology.xslt
transforms/terms.xslt

diff --git a/DTD b/DTD
index 5e9b6fd43d9229d345129f27e0b58b512440eb6f..203e6b3bb05b6cc8bf103df2f332bfa71ce5043c 100644 (file)
--- a/DTD
+++ b/DTD
@@ -56,7 +56,9 @@ SPDX-License-Identifier: CC0-1.0
 >
 
 <!-- Skos -->
 >
 
 <!-- Skos -->
+<!ELEMENT broader (resource)>
 <!ELEMENT inScheme (resource)>
 <!ELEMENT inScheme (resource)>
+<!ELEMENT narrower (resource)>
 
 <!-- Shacl -->
 <!ELEMENT declare (prefix,namespace)>
 
 <!-- Shacl -->
 <!ELEMENT declare (prefix,namespace)>
@@ -194,7 +196,7 @@ SPDX-License-Identifier: CC0-1.0
        name CDATA #IMPLIED
        status (plumbing|unstable|testing|stable|archaic) #IMPLIED
 >
        name CDATA #IMPLIED
        status (plumbing|unstable|testing|stable|archaic) #IMPLIED
 >
-<!ELEMENT NamedIndividual (%annotations;,type*,sameAs*,differentFrom*,inScheme*)>
+<!ELEMENT NamedIndividual (%annotations;,type*,sameAs*,differentFrom*,inScheme*,broader*,narrower*)>
 <!ATTLIST NamedIndividual
        name CDATA #IMPLIED
        status (plumbing|unstable|testing|stable|archaic) #IMPLIED
 <!ATTLIST NamedIndividual
        name CDATA #IMPLIED
        status (plumbing|unstable|testing|stable|archaic) #IMPLIED
diff --git a/data/annotation_properties/ore¦similarTo b/data/annotation_properties/ore¦similarTo
new file mode 100644 (file)
index 0000000..428364e
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE AnnotationProperty SYSTEM "../../DTD">
+<AnnotationProperty>
+       <label xml:lang="en">similar to</label>
+       <comment xml:lang="en">
+               <p>
+                       Some·thing which this <ref target="ore:Aggregation">Aggregation</ref> is an expression of or “broadly equivalent” to.
+               </p>
+               <p>
+                       The intended usage of this property is to point from Aggregations, which are specifically sets of <ref target="ore:AggregatedResource">Aggregated Resources</ref>, to other things which might be interchangeable in some contexts, but which are modelled differently.
+                       For example, a book might be modelled as an Aggregation of chapters, as an Aggregation of pages, or as an atomic unit; this property could be used to link between these different representations.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="ore-similarTo"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="rdfs:seeAlso"/>
+       </subPropertyOf>
+       <domain>
+               <resource name="ore:Aggregation"/>
+       </domain>
+</AnnotationProperty>
diff --git a/data/classes/ore¦AggregatedResource b/data/classes/ore¦AggregatedResource
new file mode 100644 (file)
index 0000000..6a40735
--- /dev/null
@@ -0,0 +1,28 @@
+<?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">Aggregated Resource</label>
+       <comment xml:lang="en">
+               <p>
+                       Some·thing which is <ref target="ore:isAggregatedBy">aggregated by</ref> some <ref target="ore:Aggregation">Aggregation</ref>.
+               </p>
+               <p>
+                       This class, on its own, does not imply much of anything, and there isn¦t much need to use it directly.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="aggr_res"/>
+       </isDefinedBy>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="ore:isAggregatedBy"/>
+                       </onProperty>
+                       <minCardinality>1</minCardinality>
+               </Restriction>
+       </subClassOf>
+</Class>
diff --git a/data/classes/ore¦Aggregation b/data/classes/ore¦Aggregation
new file mode 100644 (file)
index 0000000..7ecefc4
--- /dev/null
@@ -0,0 +1,20 @@
+<?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">Aggregation</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="dcmitype:Collection">Collection</ref> of (presumably related) <ref target="ore:AggregatedResource">Aggregated Resources</ref>, grouped together such that the set can be treated as a single thing.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="aggr"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="dcmitype:Collection"/>
+       </subClassOf>
+</Class>
diff --git a/data/classes/ore¦Proxy b/data/classes/ore¦Proxy
new file mode 100644 (file)
index 0000000..acebdbf
--- /dev/null
@@ -0,0 +1,41 @@
+<?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">Proxy</label>
+       <comment xml:lang="en">
+               <p>
+                       An abstract representation of some <ref target="ore:AggregatedResource">Aggregated Resource</ref> as it exists within a specific <ref target="ore:Aggregation">Aggregation</ref>.
+               </p>
+               <p>
+                       State·ments about Aggregated Resources which are specific to a particular Aggregation need to be made on a Proxy, as such state·ments are not “generally true”.
+                       It is recommended that Proxies not be Aggregated Resources themselves, but this isn¦t formally required.
+               </p>
+               <p>
+                       There is no restriction that an Aggregated Resource only have one Proxy for a given Aggregation.
+                       The restrictions on <ptr target="ore:proxyFor"/> and <ptr target="ore:proxyIn"/> are not formally expressed in <ptr target="(OAI-ORE)"/>, but are made explicit here to preserve the use·fulness of this class.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="proxy"/>
+       </isDefinedBy>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="ore:proxyFor"/>
+                       </onProperty>
+                       <cardinality>1</cardinality>
+               </Restriction>
+       </subClassOf>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="ore:proxyIn"/>
+                       </onProperty>
+                       <cardinality>1</cardinality>
+               </Restriction>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdmuse¦ExtractedText b/data/classes/pcdmuse¦ExtractedText
new file mode 100644 (file)
index 0000000..2e174ff
--- /dev/null
@@ -0,0 +1,20 @@
+<?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">Extracted Text</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:File">File</ref> which is a textual representation appropriate for fulltext indexing.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:File"/>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdmuse¦IntermediateFile b/data/classes/pcdmuse¦IntermediateFile
new file mode 100644 (file)
index 0000000..e999864
--- /dev/null
@@ -0,0 +1,20 @@
+<?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">Intermediate File</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:File">File</ref> which is high‐quality and suitable for use in creating derivatives or for other additional processing.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:File"/>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdmuse¦OriginalFile b/data/classes/pcdmuse¦OriginalFile
new file mode 100644 (file)
index 0000000..d0dca83
--- /dev/null
@@ -0,0 +1,20 @@
+<?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">Original File</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:File">File</ref> which is in its original creation format.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:File"/>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdmuse¦PreservationFile b/data/classes/pcdmuse¦PreservationFile
new file mode 100644 (file)
index 0000000..1380e66
--- /dev/null
@@ -0,0 +1,20 @@
+<?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">Preservation File</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:File">File</ref> which is appropriate for long‐term preservation.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:File"/>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdmuse¦ServiceFile b/data/classes/pcdmuse¦ServiceFile
new file mode 100644 (file)
index 0000000..c924d80
--- /dev/null
@@ -0,0 +1,20 @@
+<?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">Service File</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:File">File</ref> which is of reasonable quality for end‐users.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:File"/>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdmuse¦ThumbnailImage b/data/classes/pcdmuse¦ThumbnailImage
new file mode 100644 (file)
index 0000000..17d4b5b
--- /dev/null
@@ -0,0 +1,23 @@
+<?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">Thumbnail Image</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:File">File</ref> which is a low‐quality, thumbnail representation of some thing, appropriate for use as an icon.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:File"/>
+       </subClassOf>
+       <subClassOf>
+               <resource name="foaf:Image"/>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdmuse¦Transcript b/data/classes/pcdmuse¦Transcript
new file mode 100644 (file)
index 0000000..47455c3
--- /dev/null
@@ -0,0 +1,20 @@
+<?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">Transcript</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:File">File</ref> which is a textual representation appropriate for presentation to users.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:File"/>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdmworks¦FileSet b/data/classes/pcdmworks¦FileSet
new file mode 100644 (file)
index 0000000..ac53776
--- /dev/null
@@ -0,0 +1,41 @@
+<?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">File Set</label>
+       <comment xml:lang="en">
+               <p>
+                       An <ref target="pcdm:Object">Object</ref> representing a single conceptual entity which might have multiple <ref target="pcdm:File">File</ref> representations.
+               </p>
+               <p>
+                       File Sets describe the conceptual entity that Files are concrete manifestations of.
+                       When that entity has multiple manifestations, it may <ref target="pcdm:hasFile">have</ref> multiple Files.
+                       For example, a page in a book may exist in both Tiff and P·N·G format.
+                       These are separate files, but they represent the same conceptual entity, the page.
+               </p>
+               <p>
+                       File Sets do not <ref target="pcdm:hasMember">have members</ref>.
+                       Typically, they are <ref target="pcdm:isMemberOf">members of</ref> <ref target="pcdm:Work">Works</ref>.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:Object"/>
+       </subClassOf>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="pcdm:hasMember"/>
+                       </onProperty>
+                       <maxCardinality>0</maxCardinality>
+               </Restriction>
+       </subClassOf>
+       <disjointWith>
+               <resource name="pcdmworks:Work"/>
+       </disjointWith>
+</Class>
diff --git a/data/classes/pcdmworks¦Work b/data/classes/pcdmworks¦Work
new file mode 100644 (file)
index 0000000..08af3d5
--- /dev/null
@@ -0,0 +1,32 @@
+<?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">Work</label>
+       <comment xml:lang="en">
+               <p>
+                       An <ref target="pcdm:Object">Object</ref> representing an abstract intellectual entity.
+               </p>
+               <p>
+                       Works differ from Objects more generally in that they do not themselves <ref target="pcdm:hasFile">have files</ref>.
+                       Instead, they <ref target="pcdm:hasMember">have member</ref> <ref target="pcdmworks:FileSet">File Sets</ref> which contain their files.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subClassOf>
+               <resource name="pcdm:Object"/>
+       </subClassOf>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="pcdm:hasFile"/>
+                       </onProperty>
+                       <maxCardinality>0</maxCardinality>
+               </Restriction>
+       </subClassOf>
+</Class>
diff --git a/data/classes/pcdm¦Collection b/data/classes/pcdm¦Collection
new file mode 100644 (file)
index 0000000..acc1b71
--- /dev/null
@@ -0,0 +1,17 @@
+<?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">Collection</label>
+       <comment xml:lang="en">
+               <p>
+                       A kind of <ref target="ore:Aggregation">Aggregation</ref> which can <ref target="pcdm:hasMember">have member</ref> <ref target="pcdm:Object">Objects</ref> or other Collections.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)" fragment="pcdmcollection"/>
+       </isDefinedBy>
+</Class>
diff --git a/data/classes/pcdm¦File b/data/classes/pcdm¦File
new file mode 100644 (file)
index 0000000..c917e35
--- /dev/null
@@ -0,0 +1,77 @@
+<?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">File</label>
+       <comment xml:lang="en">
+               <p>
+                       A sequence of binary data, as contained within a specific <ref target="pcdm:Object">Object</ref>.
+               </p>
+               <p>
+                       The <ref target="dcterms:extent">extent</ref> is meant to be interpreted as a file size in bytes (but the exact representation is left fuzzy), and the <ref target="dc11:format">format</ref> is meant to be interpreted as an internet media type.
+                       For the latter, the more specific property <ptr target="awol:type"/> may be used.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)" fragment="pcdmfile"/>
+       </isDefinedBy>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="pcdm:isFileOf"/>
+                       </onProperty>
+                       <cardinality>1</cardinality>
+               </Restriction>
+       </subClassOf>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="dc11:format"/>
+                       </onProperty>
+                       <maxCardinality>1</maxCardinality>
+               </Restriction>
+       </subClassOf>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="dc11:format"/>
+                       </onProperty>
+                       <allValuesFrom>
+                               <resource name="xsd:string"/>
+                       </allValuesFrom>
+               </Restriction>
+       </subClassOf>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="dcterms:extent"/>
+                       </onProperty>
+                       <maxCardinality>1</maxCardinality>
+               </Restriction>
+       </subClassOf>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="dcterms:created"/>
+                       </onProperty>
+                       <maxCardinality>1</maxCardinality>
+               </Restriction>
+       </subClassOf>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="dcterms:modified"/>
+                       </onProperty>
+                       <maxCardinality>1</maxCardinality>
+               </Restriction>
+       </subClassOf>
+       <disjointWith>
+               <resource name="pcdm:Collection"/>
+       </disjointWith>
+       <disjointWith>
+               <resource name="pcdm:Object"/>
+       </disjointWith>
+</Class>
diff --git a/data/classes/pcdm¦Object b/data/classes/pcdm¦Object
new file mode 100644 (file)
index 0000000..884dcd0
--- /dev/null
@@ -0,0 +1,36 @@
+<?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">Object</label>
+       <comment xml:lang="en">
+               <p>
+                       A kind of <ref target="ore:Aggregation">Aggregation</ref> representing an intellectual entity of some kind.
+               </p>
+               <p>
+                       Objects may <ref target="pcdm:hasMember">have member</ref> Objects (but not Collections) and may also <ref target="pcdm:hasFile">have</ref> <ref target="pcdm:File">Files</ref>.
+               </p>
+               <p>
+                       The <ptr target="pcdmworks:Work"/> and <ptr target="pcdmworks:FileSet"/> subclasses provide a more sophisticated modelling.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)" fragment="pcdmobject"/>
+       </isDefinedBy>
+       <subClassOf>
+               <Restriction>
+                       <onProperty>
+                               <resource name="pcdm:hasMember"/>
+                       </onProperty>
+                       <allValuesFrom>
+                               <resource name="pcdm:Object"/>
+                       </allValuesFrom>
+               </Restriction>
+       </subClassOf>
+       <disjointWith>
+               <resource name="pcdm:Collection"/>
+       </disjointWith>
+</Class>
diff --git a/data/named_individuals/_IIIF_ b/data/named_individuals/_IIIF_
new file mode 100644 (file)
index 0000000..26d0553
--- /dev/null
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2024, 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual name="https://iiif.io/api/">
+       <label xml:lang="en">I·I·I·F</label>
+       <type>
+               <resource name="dcterms:BibliographicResource"/>
+       </type>
+       <type>
+               <resource name="doap:Specification"/>
+       </type>
+</NamedIndividual>
diff --git a/data/named_individuals/_OAI-ORE_ b/data/named_individuals/_OAI-ORE_
new file mode 100644 (file)
index 0000000..f1785fe
--- /dev/null
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual name="https://www.openarchives.org/ore/1.0/vocabulary">
+       <label xml:lang="en">O·A·I Ore</label>
+       <comment xml:lang="en">
+               <p>
+                       The Open Archives Intiative (O·A·I) vocabulary for Object Re·use and Exchange (Ore) provides a set of basic terms for defining aggregations of resources and the relationships between them.
+                       It also introduces the concept of a “Resource Map”, which is an R·D·F graph containing a description of an aggregation conforming to its vocabulary and data model.
+               </p>
+               <p>
+                       The terms for describing aggregations are generally use·ful, and have been extended by models like <ptr target="(PCDM)"/>; they are included in this ontology.
+                       The Resource Map concept and its related terms (<resource name="ore:ResourceMap"/>, <resource name="ore:describes"/>, <resource name="ore:isDescribedBy"/>) is less obviously use·ful, and has been excluded for now.
+               </p>
+       </comment>
+       <type>
+               <resource name="dcterms:BibliographicResource"/>
+       </type>
+       <type>
+               <resource name="doap:Specification"/>
+       </type>
+</NamedIndividual>
diff --git a/data/named_individuals/_PCDM_ b/data/named_individuals/_PCDM_
new file mode 100644 (file)
index 0000000..6b9e4c8
--- /dev/null
@@ -0,0 +1,49 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual name="https://github.com/duraspace/pcdm/wiki">
+       <label xml:lang="en">P·C·D·M</label>
+       <comment xml:lang="en">
+               <p>
+                       The Portland Common Data Model (P·C·D·M) is a set of vocabularies published by Duraspace and used by certain institutions and communities in the library and cultural heritage sphere for modelling their collections.
+                       It comprises five parts :⁠—
+               </p>
+               <list>
+                       <item>
+                               <p>
+                                       <strong>P·C·D·M Models</strong> builds on top of <ptr target="(OAI-ORE)"/> to provide basic structural modelling for <ref target="pcdm:Collection">Collections</ref>, their <ref target="pcdm:Object">Objects</ref>, and the <ref target="pcdm:File">Files</ref> associated with them.
+                                       This ontology only omits the term <resource name="pcdm:AlternateOrder"/>, whose meaning and utility is unclear.
+                               </p>
+                       </item>
+                       <item>
+                               <p>
+                                       <strong>P·C·D·M Use</strong> provides subclasses for <ptr target="pcdm:File"/> which identify its intended <em>use</em>.
+                                       The choice of modelling this using classes, rather than a relationship like <ptr target="anno:hasPurpose"/>, is a bit suspect, but a conversion from one to the other is not especially difficult.
+                               </p>
+                       </item>
+                       <item>
+                               <p>
+                                       <strong>P·C·D·M Rights</strong> provides a few terms for specifying temporary, time‐limited overrides to rights statements.
+                                       As this is use·case is fairly domain‐specific and niche, this ontology does not bother defining its terms.
+                               </p>
+                       </item>
+                       <item>
+                               <p>
+                                       <strong>P·C·D·M Works</strong> expands P·C·D·M Models to add the concepts of <ref target="pcdmworks:Work">Work</ref> and <ref target="pcdmworks:FileSet">File Set</ref>.
+                                       It also defines two classes for use with <ptr target="(IIIF)"/>, <resource name="pcdmworks:Range"/> and <resource name="pcdmworks:TopRange"/>, which are more suspect in utility and not included in this ontology.
+                               </p>
+                       </item>
+                       <item>
+                               <p>
+                                       <strong>P·C·D·M File Formats</strong> provides a set of <ref target="skos:Concept">Concepts</ref> for denoting specific file format genres.
+                               </p>
+                       </item>
+               </list>
+       </comment>
+       <type>
+               <resource name="dcterms:BibliographicResource"/>
+       </type>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Archive b/data/named_individuals/pcdmformat¦Archive
new file mode 100644 (file)
index 0000000..d7a26c3
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Archive</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are archives.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Audio b/data/named_individuals/pcdmformat¦Audio
new file mode 100644 (file)
index 0000000..e65bd3f
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Audio</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are audio media.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Media"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Database b/data/named_individuals/pcdmformat¦Database
new file mode 100644 (file)
index 0000000..b80ff68
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Database</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are databases.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Dataset b/data/named_individuals/pcdmformat¦Dataset
new file mode 100644 (file)
index 0000000..bb3e040
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Dataset</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are datasets.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Document b/data/named_individuals/pcdmformat¦Document
new file mode 100644 (file)
index 0000000..e7c5fa1
--- /dev/null
@@ -0,0 +1,20 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Document</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Email b/data/named_individuals/pcdmformat¦Email
new file mode 100644 (file)
index 0000000..e3c3b95
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">E·Mail</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for e·mail documents.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Executable b/data/named_individuals/pcdmformat¦Executable
new file mode 100644 (file)
index 0000000..13368a3
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Executable</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are executable software.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Software"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦FileHash b/data/named_individuals/pcdmformat¦FileHash
new file mode 100644 (file)
index 0000000..51cbbe6
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">File Hash</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are hashes of files.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Font b/data/named_individuals/pcdmformat¦Font
new file mode 100644 (file)
index 0000000..f360a19
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Font</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are fonts.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦GIS b/data/named_individuals/pcdmformat¦GIS
new file mode 100644 (file)
index 0000000..a62f63d
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">G·I·S</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are geographic information system datasets.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Dataset"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦HTML b/data/named_individuals/pcdmformat¦HTML
new file mode 100644 (file)
index 0000000..bd9038a
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">H·T·M·L</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for structured text documents which are H·T·M·L markup.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Markup"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Image b/data/named_individuals/pcdmformat¦Image
new file mode 100644 (file)
index 0000000..67b736e
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Image</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are image media.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Media"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Markup b/data/named_individuals/pcdmformat¦Markup
new file mode 100644 (file)
index 0000000..74a766f
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Markup</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for structured text documents which are markup.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:StructuredText"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Media b/data/named_individuals/pcdmformat¦Media
new file mode 100644 (file)
index 0000000..31cfe68
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Media</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are media.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦MediaList b/data/named_individuals/pcdmformat¦MediaList
new file mode 100644 (file)
index 0000000..9e62649
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Media List</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are media lists.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Model b/data/named_individuals/pcdmformat¦Model
new file mode 100644 (file)
index 0000000..24e7830
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Model</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are two‐ or three‐dimensional geometric models.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦PageDescription b/data/named_individuals/pcdmformat¦PageDescription
new file mode 100644 (file)
index 0000000..9ea1f2b
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Page Description</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for text documents which are page descriptions.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Text"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Presentation b/data/named_individuals/pcdmformat¦Presentation
new file mode 100644 (file)
index 0000000..cc83c32
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Presentation</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are presentations.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦RasterImage b/data/named_individuals/pcdmformat¦RasterImage
new file mode 100644 (file)
index 0000000..c6a086a
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Raster Image</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are raster image media.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Image"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Software b/data/named_individuals/pcdmformat¦Software
new file mode 100644 (file)
index 0000000..524065a
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Software</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are software.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦SourceCode b/data/named_individuals/pcdmformat¦SourceCode
new file mode 100644 (file)
index 0000000..93fc7e1
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Source Code</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for structured text documents which are source code.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:StructuredText"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Spreadsheet b/data/named_individuals/pcdmformat¦Spreadsheet
new file mode 100644 (file)
index 0000000..088137c
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Spreadsheet</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are spreadsheets.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦StructuredText b/data/named_individuals/pcdmformat¦StructuredText
new file mode 100644 (file)
index 0000000..5af4558
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Structured Text</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for structured text documents.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Text"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Text b/data/named_individuals/pcdmformat¦Text
new file mode 100644 (file)
index 0000000..3050f77
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Text</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are text.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Unknown b/data/named_individuals/pcdmformat¦Unknown
new file mode 100644 (file)
index 0000000..1748385
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Unknown</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents of unknown format.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦UnstructuredText b/data/named_individuals/pcdmformat¦UnstructuredText
new file mode 100644 (file)
index 0000000..a967dfc
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Unstructured Text</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for unstructured text documents.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Text"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦VectorImage b/data/named_individuals/pcdmformat¦VectorImage
new file mode 100644 (file)
index 0000000..9489531
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Vector Image</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are vector image media.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Image"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Video b/data/named_individuals/pcdmformat¦Video
new file mode 100644 (file)
index 0000000..236acc6
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Video</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are video media.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Media"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/named_individuals/pcdmformat¦Website b/data/named_individuals/pcdmformat¦Website
new file mode 100644 (file)
index 0000000..8de5fc7
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE NamedIndividual SYSTEM "../../DTD">
+<NamedIndividual>
+       <label xml:lang="en">Website</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="skos:Concept">Concept</ref> for documents which are websites.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <type>
+               <resource name="skos:Concept"/>
+       </type>
+       <broader>
+               <resource name="pcdmformat:Document"/>
+       </broader>
+</NamedIndividual>
diff --git a/data/object_properties/ore¦aggregates b/data/object_properties/ore¦aggregates
new file mode 100644 (file)
index 0000000..17c4c49
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty>
+       <label xml:lang="en">aggregates</label>
+       <comment xml:lang="en">
+               <p>
+                       An <ref target="ore:AggregatedResource">Aggregated Resource</ref> which is a member of this <ref target="ore:Aggregation">Aggregation</ref>.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="ore-aggregates"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="dcterms:hasPart"/>
+       </subPropertyOf>
+       <domain>
+               <resource name="ore:Aggregation"/>
+       </domain>
+       <range>
+               <resource name="ore:AggregatedResource"/>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/ore¦isAggregatedBy b/data/object_properties/ore¦isAggregatedBy
new file mode 100644 (file)
index 0000000..e6be35a
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty>
+       <label xml:lang="en">aggregated by</label>
+       <comment xml:lang="en">
+               <p>
+                       An <ref target="ore:Aggregation">Aggregation</ref> which includes this <ref target="ore:AggregatedResource">Aggregated Resource</ref> as a member.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="ore-is-aggregated-by"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="dcterms:isPartOf"/>
+       </subPropertyOf>
+       <inverseOf>
+               <resource name="ore:aggregates"/>
+       </inverseOf>
+       <domain>
+               <resource name="ore:AggregatedResource"/>
+       </domain>
+       <range>
+               <resource name="ore:Aggregation"/>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/ore¦lineage b/data/object_properties/ore¦lineage
new file mode 100644 (file)
index 0000000..8d12cc3
--- /dev/null
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty>
+       <label xml:lang="en">lineage</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="ore:Proxy">Proxy</ref> representing an <ref target="ore:aggregates">aggregation</ref> of an <ref target="ore:AggregatedResource">Aggregated Resource</ref> in an <ref target="ore:Aggregation">Aggregation</ref> which served as a source for the aggregation that this Proxy represents.
+               </p>
+               <p>
+                       When an Aggregated Resource in one Aggregation is due to its inclusion as an Aggregated Resource in a different Aggregation, this property, alongside Proxies which represent the Aggregated Resource in each case, can be used to demonstrate the relationship.
+                       The modelling for this is probably a bit soft and needlessly confusing; a relationship between the Aggregation itself and the Proxies that it was derived from might be clearer.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="ore-lineage"/>
+       </isDefinedBy>
+       <domain>
+               <resource name="ore:Proxy"/>
+       </domain>
+       <range>
+               <resource name="ore:Proxy"/>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/ore¦proxyFor b/data/object_properties/ore¦proxyFor
new file mode 100644 (file)
index 0000000..7cd75f0
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty functional="yes">
+       <label xml:lang="en">proxy for</label>
+       <comment xml:lang="en">
+               <p>
+                       The <ref target="ore:AggregatedResource">Aggregated Resource</ref> which this <ref target="ore:Proxy">Proxy</ref> is proxying.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="ore-proxyFor"/>
+       </isDefinedBy>
+       <domain>
+               <resource name="ore:Proxy"/>
+       </domain>
+       <range>
+               <resource name="ore:AggregatedResource"/>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/ore¦proxyIn b/data/object_properties/ore¦proxyIn
new file mode 100644 (file)
index 0000000..29023d2
--- /dev/null
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty functional="yes">
+       <label xml:lang="en">proxy in</label>
+       <comment xml:lang="en">
+               <p>
+                       The <ref target="ore:Aggregation">Aggregation</ref> which provides the context for this <ref target="ore:Proxy">Proxy</ref>.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(OAI-ORE)" fragment="ore-proxyIn"/>
+       </isDefinedBy>
+       <domain>
+               <resource name="ore:Proxy"/>
+       </domain>
+       <range>
+               <resource name="ore:Aggregation"/>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/pcdm¦hasFile b/data/object_properties/pcdm¦hasFile
new file mode 100644 (file)
index 0000000..6e9ae35
--- /dev/null
@@ -0,0 +1,26 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty inverseFunctional="yes">
+       <label xml:lang="en">has file</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:File">File</ref> which comprises part of this <ref target="pcdm:Object">Object</ref>.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="ore:aggregates"/>
+       </subPropertyOf>
+       <domain>
+               <resource name="pcdm:Object"/>
+       </domain>
+       <range>
+               <resource name="pcdm:File"/>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/pcdm¦hasMember b/data/object_properties/pcdm¦hasMember
new file mode 100644 (file)
index 0000000..e0a98c7
--- /dev/null
@@ -0,0 +1,36 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty>
+       <label xml:lang="en">has member</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:Collection">Collection</ref> or <ref target="pcdm:Object">Object</ref> which forms a component part of this Collection or Object.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="ore:aggregates"/>
+       </subPropertyOf>
+       <domain>
+               <Class>
+                       <unionOf>
+                               <resource name="pcdm:Collection"/>
+                               <resource name="pcdm:Object"/>
+                       </unionOf>
+               </Class>
+       </domain>
+       <range>
+               <Class>
+                       <unionOf>
+                               <resource name="pcdm:Collection"/>
+                               <resource name="pcdm:Object"/>
+                       </unionOf>
+               </Class>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/pcdm¦hasRelatedObject b/data/object_properties/pcdm¦hasRelatedObject
new file mode 100644 (file)
index 0000000..509fcb4
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty asymmetric="yes" irreflexive="yes">
+       <label xml:lang="en">has related object</label>
+       <comment xml:lang="en">
+               <p>
+                       An <ref target="pcdm:Object">Object</ref> which is aggregated as part of this <ref target="pcdm:Collection">Collection</ref> or <ref target="pcdm:Object">Object</ref>, but which is not considered a component part.
+               </p>
+               <p>
+                       This property is intended for things like licensing agreements or cover art which are considered part of a Collection or Object from the perspective of resource aggregation, but not from the perspective of conceptual composition.
+                       Related objects are <ref target="ore:aggregates">aggregated in</ref> and consequently <ref target="dcterms:isPartOf">part of</ref> the things they are related to, but as something other than a compositional component.
+                       For more general kinds of relation, use <ptr target="sioc:related_to"/>.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="ore:aggregates"/>
+       </subPropertyOf>
+       <propertyDisjointWith>
+               <resource name="pcdm:hasMember"/>
+       </propertyDisjointWith>
+       <domain>
+               <Class>
+                       <unionOf>
+                               <resource name="pcdm:Collection"/>
+                               <resource name="pcdm:Object"/>
+                       </unionOf>
+               </Class>
+       </domain>
+       <range>
+               <resource name="pcdm:Object"/>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/pcdm¦isFileOf b/data/object_properties/pcdm¦isFileOf
new file mode 100644 (file)
index 0000000..f5b4eaa
--- /dev/null
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty functional="yes">
+       <label xml:lang="en">file of</label>
+       <comment xml:lang="en">
+               <p>
+                       An <ref target="pcdm:Object">Object</ref> which this <ref target="pcdm:File">File</ref> comprises part of.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="ore:isAggregatedBy"/>
+       </subPropertyOf>
+       <inverseOf>
+               <resource name="pcdm:hasFile"/>
+       </inverseOf>
+       <domain>
+               <resource name="pcdm:File"/>
+       </domain>
+       <range>
+               <resource name="pcdm:Object"/>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/pcdm¦isMemberOf b/data/object_properties/pcdm¦isMemberOf
new file mode 100644 (file)
index 0000000..54cbf7b
--- /dev/null
@@ -0,0 +1,39 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty>
+       <label xml:lang="en">member of</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:Collection">Collection</ref> or <ref target="pcdm:Object">Object</ref> which this Collection or Object is a component part of.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="ore:isAggregatedBy"/>
+       </subPropertyOf>
+       <inverseOf>
+               <resource name="pcdm:hasMember"/>
+       </inverseOf>
+       <domain>
+               <Class>
+                       <unionOf>
+                               <resource name="pcdm:Collection"/>
+                               <resource name="pcdm:Object"/>
+                       </unionOf>
+               </Class>
+       </domain>
+       <range>
+               <Class>
+                       <unionOf>
+                               <resource name="pcdm:Collection"/>
+                               <resource name="pcdm:Object"/>
+                       </unionOf>
+               </Class>
+       </range>
+</ObjectProperty>
diff --git a/data/object_properties/pcdm¦isRelatedObjectOf b/data/object_properties/pcdm¦isRelatedObjectOf
new file mode 100644 (file)
index 0000000..51f5b90
--- /dev/null
@@ -0,0 +1,40 @@
+<?xml version="1.0"?>
+<!--
+SPDX-FileCopyrightText: 2025 Lady <https://www.ladys.computer/about/#lady>
+SPDX-License-Identifier: CC0-1.0
+-->
+<!DOCTYPE ObjectProperty SYSTEM "../../DTD">
+<ObjectProperty asymmetric="yes" irreflexive="yes">
+       <label xml:lang="en">related object of</label>
+       <comment xml:lang="en">
+               <p>
+                       A <ref target="pcdm:Collection">Collection</ref> or <ref target="pcdm:Object">Object</ref> which this Object is aggregated as part of, but in a way which does not imply being a component part.
+               </p>
+               <p>
+                       See <ptr target="pcdm:hasRelatedObject"/> for further discussion on the correct usage of this property.
+               </p>
+       </comment>
+       <isDefinedBy>
+               <SpecificResource source="(PCDM)"/>
+       </isDefinedBy>
+       <subPropertyOf>
+               <resource name="ore:isAggregatedBy"/>
+       </subPropertyOf>
+       <inverseOf>
+               <resource name="pcdm:hasRelatedObject"/>
+       </inverseOf>
+       <propertyDisjointWith>
+               <resource name="pcdm:isMemberOf"/>
+       </propertyDisjointWith>
+       <domain>
+               <resource name="pcdm:Object"/>
+       </domain>
+       <range>
+               <Class>
+                       <unionOf>
+                               <resource name="pcdm:Collection"/>
+                               <resource name="pcdm:Object"/>
+                       </unionOf>
+               </Class>
+       </range>
+</ObjectProperty>
index 034b83b5e17e0893c69b1a01fa55e92e2f74de98..20da57ba3ac412015bc2669efa7736a0712d97e5 100644 (file)
@@ -77,10 +77,30 @@ SPDX-License-Identifier: CC0-1.0
                <prefix>ladys</prefix>
                <namespace>https://vocab.ladys.computer/terms/</namespace>
        </declare>
                <prefix>ladys</prefix>
                <namespace>https://vocab.ladys.computer/terms/</namespace>
        </declare>
+       <declare>
+               <prefix>ore</prefix>
+               <namespace>http://www.openarchives.org/ore/terms/</namespace>
+       </declare>
        <declare>
                <prefix>owl</prefix>
                <namespace>http://www.w3.org/2002/07/owl#</namespace>
        </declare>
        <declare>
                <prefix>owl</prefix>
                <namespace>http://www.w3.org/2002/07/owl#</namespace>
        </declare>
+       <declare>
+               <prefix>pcdm</prefix>
+               <namespace>http://pcdm.org/models#</namespace>
+       </declare>
+       <declare>
+               <prefix>pcdmformat</prefix>
+               <namespace>http://pcdm.org/file-format-types#</namespace>
+       </declare>
+       <declare>
+               <prefix>pcdmuse</prefix>
+               <namespace>http://pcdm.org/use#</namespace>
+       </declare>
+       <declare>
+               <prefix>pcdmworks</prefix>
+               <namespace>http://pcdm.org/works#</namespace>
+       </declare>
        <declare>
                <prefix>rdf</prefix>
                <namespace>http://www.w3.org/1999/02/22-rdf-syntax-ns#</namespace>
        <declare>
                <prefix>rdf</prefix>
                <namespace>http://www.w3.org/1999/02/22-rdf-syntax-ns#</namespace>
index bd5d7b729566a9af581ba2c6a62ea22cc7e0bda5..83d0079f28573b3a46d9c30752eba6920de8795d 100644 (file)
@@ -386,7 +386,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one
                                <when test="contains(' declare namespace prefix ', $spaced)">
                                        <text>shacl:</text>
                                </when>
                                <when test="contains(' declare namespace prefix ', $spaced)">
                                        <text>shacl:</text>
                                </when>
-                               <when test="contains(' inScheme ', $spaced)">
+                               <when test="contains(' broader inScheme narrower ', $spaced)">
                                        <text>skos:</text>
                                </when>
                                <otherwise>
                                        <text>skos:</text>
                                </when>
                                <otherwise>
index 43def78cd5e0a2a98f6bd427462ce6a2bf259a9e..381c556777e3e635b72d9d8239d469e26bbeda88 100644 (file)
@@ -962,6 +962,38 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one
                                                </for-each>
                                        </element>
                                </if>
                                                </for-each>
                                        </element>
                                </if>
+                               <if test="skos:broader">
+                                       <element name="div" namespace="&xhtml;">
+                                               <element name="dt" namespace="&xhtml;">
+                                                       &en;
+                                                       <text>Has Broader</text>
+                                               </element>
+                                               <for-each select="skos:broader">
+                                                       <element name="dd" namespace="&xhtml;">
+                                                               <call-template name="Vocab:link-to">
+                                                                       <with-param name="resource" select="string(@rdf:resource)"/>
+                                                                       <with-param name="kind" select="'individual'"/>
+                                                               </call-template>
+                                                       </element>
+                                               </for-each>
+                                       </element>
+                               </if>
+                               <if test="skos:narrower">
+                                       <element name="div" namespace="&xhtml;">
+                                               <element name="dt" namespace="&xhtml;">
+                                                       &en;
+                                                       <text>Has Narrower</text>
+                                               </element>
+                                               <for-each select="skos:narrower">
+                                                       <element name="dd" namespace="&xhtml;">
+                                                               <call-template name="Vocab:link-to">
+                                                                       <with-param name="resource" select="string(@rdf:resource)"/>
+                                                                       <with-param name="kind" select="'individual'"/>
+                                                               </call-template>
+                                                       </element>
+                                               </for-each>
+                                       </element>
+                               </if>
                                <if test="rdfs:isDefinedBy[not(starts-with(@rdf:resource, $base-iri))]">
                                        <element name="div" namespace="&xhtml;">
                                                <element name="dt" namespace="&xhtml;">
                                <if test="rdfs:isDefinedBy[not(starts-with(@rdf:resource, $base-iri))]">
                                        <element name="div" namespace="&xhtml;">
                                                <element name="dt" namespace="&xhtml;">
This page took 0.188587 seconds and 4 git commands to generate.