From: Lady Date: Sat, 13 Sep 2025 17:09:50 +0000 (-0400) Subject: Update O·L·O modelling X-Git-Url: https://git.ladys.computer/Vocab/commitdiff_plain/HEAD?ds=inline;hp=c462288ab021e9e296b6e64f3dee43c466d97736 Update O·L·O modelling This commit introduces new `OrderedAggregation` and `Slot` terms in the `ladys:` name·space upon which O·L·O is built. The `ladys:` versions of these classes differ in that they do not require an `olo:length`. --- diff --git a/.gitignore b/.gitignore index e75c358..f34112d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,4 @@ /build /public .grass +%* diff --git a/.rsync-filter b/.rsync-filter new file mode 100644 index 0000000..1e1c191 --- /dev/null +++ b/.rsync-filter @@ -0,0 +1,6 @@ +# SPDX-FileCopyrightText: 2024 Lady +# SPDX-License-Identifier: CC0-1.0 + +-s .DS_Store +-s #* +-s %* diff --git "a/.\342\233\251\360\237\223\260" "b/.\342\233\251\360\237\223\260" index 5c2f4a2..ca7be60 160000 --- "a/.\342\233\251\360\237\223\260" +++ "b/.\342\233\251\360\237\223\260" @@ -1 +1 @@ -Subproject commit 5c2f4a2d2c9913196c6092f0f72a8c4ff6e76752 +Subproject commit ca7be60f15de191e25f8cc1890e13dc499576ec4 diff --git a/DTD b/DTD index 5e9b6fd..d8d44b3 100644 --- a/DTD +++ b/DTD @@ -11,6 +11,7 @@ SPDX-License-Identifier: CC0-1.0 + @@ -56,7 +57,9 @@ SPDX-License-Identifier: CC0-1.0 > + + @@ -161,7 +164,7 @@ SPDX-License-Identifier: CC0-1.0 - + - + to view the site.\n\0033[7m \0033[27m \n\0033[7m \0033[27m Press control + C to exit.\n\0033[22m' >&2 + @ruby ./scripts/serve.rb $(PORT) >&2 + uninstall : @for publicfile in $(patsubst %,"%",$(wildcard $(DESTDIR)/*)); do if $(GIT) check-ignore -q "$$publicfile"; then $(RM) -rf "$$publicfile"; fi; done diff --git "a/data/annotation_properties/ore\302\246similarTo" "b/data/annotation_properties/ore\302\246similarTo" new file mode 100644 index 0000000..428364e --- /dev/null +++ "b/data/annotation_properties/ore\302\246similarTo" @@ -0,0 +1,27 @@ + + + + + + +

+ Some·thing which this Aggregation is an expression of or “broadly equivalent” to. +

+

+ The intended usage of this property is to point from Aggregations, which are specifically sets of Aggregated Resources, 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. +

+
+ + + + + + + + + +
diff --git "a/data/classes/anno\302\246Selector" "b/data/classes/anno\302\246Selector" index 7b72de6..bfd1844 100644 --- "a/data/classes/anno\302\246Selector" +++ "b/data/classes/anno\302\246Selector" @@ -1,6 +1,6 @@ @@ -27,4 +27,18 @@ SPDX-License-Identifier: CC0-1.0 + + + + + + + + + + + + + + diff --git "a/data/classes/awol\302\246FeedOrEntry" "b/data/classes/awol\302\246FeedOrEntry" index 6a6bd93..04e87ed 100644 --- "a/data/classes/awol\302\246FeedOrEntry" +++ "b/data/classes/awol\302\246FeedOrEntry" @@ -1,6 +1,6 @@ @@ -20,14 +20,10 @@ SPDX-License-Identifier: CC0-1.0 - - - - - - - - + + + + diff --git "a/data/classes/dcterms\302\246LicenseDocument" "b/data/classes/dcterms\302\246LicenseDocument" index c8e29bc..f4dcf61 100644 --- "a/data/classes/dcterms\302\246LicenseDocument" +++ "b/data/classes/dcterms\302\246LicenseDocument" @@ -1,6 +1,6 @@ @@ -8,7 +8,7 @@ SPDX-License-Identifier: CC0-1.0

- A legal document giving official permission to do something with a resource. + A legal Document giving official permission to do something with a resource.

@@ -17,4 +17,7 @@ SPDX-License-Identifier: CC0-1.0 + + + diff --git "a/data/classes/dcterms\302\246LocationPeriodOrJurisdiction" "b/data/classes/dcterms\302\246LocationPeriodOrJurisdiction" index 72ecd5c..889207a 100644 --- "a/data/classes/dcterms\302\246LocationPeriodOrJurisdiction" +++ "b/data/classes/dcterms\302\246LocationPeriodOrJurisdiction" @@ -1,6 +1,6 @@ @@ -14,4 +14,13 @@ SPDX-License-Identifier: CC0-1.0 + + + + + + + + + diff --git "a/data/classes/dcterms\302\246MediaType" "b/data/classes/dcterms\302\246MediaType" index 67a197c..3f9a376 100644 --- "a/data/classes/dcterms\302\246MediaType" +++ "b/data/classes/dcterms\302\246MediaType" @@ -1,6 +1,6 @@ @@ -14,6 +14,14 @@ SPDX-License-Identifier: CC0-1.0 + + + + + + + + diff --git "a/data/classes/dcterms\302\246MediaTypeOrExtent" "b/data/classes/dcterms\302\246MediaTypeOrExtent" index c21cc3c..ee72143 100644 --- "a/data/classes/dcterms\302\246MediaTypeOrExtent" +++ "b/data/classes/dcterms\302\246MediaTypeOrExtent" @@ -1,6 +1,6 @@ @@ -14,4 +14,12 @@ SPDX-License-Identifier: CC0-1.0 + + + + + + + + diff --git "a/data/classes/foaf\302\246Agent" "b/data/classes/foaf\302\246Agent" index 556a76c..da3f232 100644 --- "a/data/classes/foaf\302\246Agent" +++ "b/data/classes/foaf\302\246Agent" @@ -24,10 +24,4 @@ SPDX-License-Identifier: CC0-1.0 - - - - - - diff --git "a/data/classes/foaf\302\246Document" "b/data/classes/foaf\302\246Document" index 1786df5..58f468f 100644 --- "a/data/classes/foaf\302\246Document" +++ "b/data/classes/foaf\302\246Document" @@ -25,7 +25,4 @@ SPDX-License-Identifier: CC0-1.0 - - - diff --git "a/data/classes/olo\302\246OrderedList" "b/data/classes/olo\302\246OrderedList" new file mode 100644 index 0000000..4b6d01a --- /dev/null +++ "b/data/classes/olo\302\246OrderedList" @@ -0,0 +1,38 @@ + + + + + + +

+ An Ordered Aggregation which has a definite length. +

+
+ + + + + + + + + + + + + + + + + + + + + + 1 + + +
diff --git "a/data/classes/olo\302\246Slot" "b/data/classes/olo\302\246Slot" new file mode 100644 index 0000000..9b1eca9 --- /dev/null +++ "b/data/classes/olo\302\246Slot" @@ -0,0 +1,50 @@ + + + + + + +

+ A Proxy representing a single item associated with a numeric index. +

+

+ The item of a Slot provides the thing being it proxies. +

+

+ The index of a Slot should be less than or equal to the length of its ordered list. +

+
+ + + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + +
diff --git "a/data/classes/ore\302\246AggregatedResource" "b/data/classes/ore\302\246AggregatedResource" new file mode 100644 index 0000000..6a40735 --- /dev/null +++ "b/data/classes/ore\302\246AggregatedResource" @@ -0,0 +1,28 @@ + + + + + + +

+ Some·thing which is aggregated by some Aggregation. +

+

+ This class, on its own, does not imply much of anything, and there isn¦t much need to use it directly. +

+
+ + + + + + + + + 1 + + +
diff --git "a/data/classes/ore\302\246Aggregation" "b/data/classes/ore\302\246Aggregation" new file mode 100644 index 0000000..7ecefc4 --- /dev/null +++ "b/data/classes/ore\302\246Aggregation" @@ -0,0 +1,20 @@ + + + + + + +

+ A Collection of (presumably related) Aggregated Resources, grouped together such that the set can be treated as a single thing. +

+
+ + + + + + +
diff --git "a/data/classes/ore\302\246Proxy" "b/data/classes/ore\302\246Proxy" new file mode 100644 index 0000000..78b8341 --- /dev/null +++ "b/data/classes/ore\302\246Proxy" @@ -0,0 +1,87 @@ + + + + + + +

+ A Proxy of some Aggregated Resource as it exists within a specific Aggregation. +

+

+ 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. +

+

+ There is no restriction that an Aggregated Resource only have one Proxy for a given Aggregation. + The restrictions on and are not formally expressed in , but are in . +

+

+ Horizontal (previous~next) linking for Proxies is described by , with the quirk of using the spelling for . + This ontology only recognizes the spelling , which is formally defined by . +

+
+ + + + + + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + + + + + + + + + 1 + + + + + + + + + + + + +
diff --git "a/data/classes/owl\302\246Nothing" "b/data/classes/owl\302\246Nothing" new file mode 100644 index 0000000..d7957ef --- /dev/null +++ "b/data/classes/owl\302\246Nothing" @@ -0,0 +1,17 @@ + + + + + + +

+ No thing. +

+
+ + + +
diff --git "a/data/classes/owl\302\246Thing" "b/data/classes/owl\302\246Thing" new file mode 100644 index 0000000..aef4566 --- /dev/null +++ "b/data/classes/owl\302\246Thing" @@ -0,0 +1,21 @@ + + + + + + +

+ Any thing. +

+
+ + + + + + + +
diff --git "a/data/classes/pcdmuse\302\246ExtractedText" "b/data/classes/pcdmuse\302\246ExtractedText" new file mode 100644 index 0000000..2e174ff --- /dev/null +++ "b/data/classes/pcdmuse\302\246ExtractedText" @@ -0,0 +1,20 @@ + + + + + + +

+ A File which is a textual representation appropriate for fulltext indexing. +

+
+ + + + + + +
diff --git "a/data/classes/pcdmuse\302\246IntermediateFile" "b/data/classes/pcdmuse\302\246IntermediateFile" new file mode 100644 index 0000000..e999864 --- /dev/null +++ "b/data/classes/pcdmuse\302\246IntermediateFile" @@ -0,0 +1,20 @@ + + + + + + +

+ A File which is high‐quality and suitable for use in creating derivatives or for other additional processing. +

+
+ + + + + + +
diff --git "a/data/classes/pcdmuse\302\246OriginalFile" "b/data/classes/pcdmuse\302\246OriginalFile" new file mode 100644 index 0000000..d0dca83 --- /dev/null +++ "b/data/classes/pcdmuse\302\246OriginalFile" @@ -0,0 +1,20 @@ + + + + + + +

+ A File which is in its original creation format. +

+
+ + + + + + +
diff --git "a/data/classes/pcdmuse\302\246PreservationFile" "b/data/classes/pcdmuse\302\246PreservationFile" new file mode 100644 index 0000000..1380e66 --- /dev/null +++ "b/data/classes/pcdmuse\302\246PreservationFile" @@ -0,0 +1,20 @@ + + + + + + +

+ A File which is appropriate for long‐term preservation. +

+
+ + + + + + +
diff --git "a/data/classes/pcdmuse\302\246ServiceFile" "b/data/classes/pcdmuse\302\246ServiceFile" new file mode 100644 index 0000000..c924d80 --- /dev/null +++ "b/data/classes/pcdmuse\302\246ServiceFile" @@ -0,0 +1,20 @@ + + + + + + +

+ A File which is of reasonable quality for end‐users. +

+
+ + + + + + +
diff --git "a/data/classes/pcdmuse\302\246ThumbnailImage" "b/data/classes/pcdmuse\302\246ThumbnailImage" new file mode 100644 index 0000000..17d4b5b --- /dev/null +++ "b/data/classes/pcdmuse\302\246ThumbnailImage" @@ -0,0 +1,23 @@ + + + + + + +

+ A File which is a low‐quality, thumbnail representation of some thing, appropriate for use as an icon. +

+
+ + + + + + + + + +
diff --git "a/data/classes/pcdmuse\302\246Transcript" "b/data/classes/pcdmuse\302\246Transcript" new file mode 100644 index 0000000..47455c3 --- /dev/null +++ "b/data/classes/pcdmuse\302\246Transcript" @@ -0,0 +1,20 @@ + + + + + + +

+ A File which is a textual representation appropriate for presentation to users. +

+
+ + + + + + +
diff --git "a/data/classes/pcdmworks\302\246FileSet" "b/data/classes/pcdmworks\302\246FileSet" new file mode 100644 index 0000000..ac53776 --- /dev/null +++ "b/data/classes/pcdmworks\302\246FileSet" @@ -0,0 +1,41 @@ + + + + + + +

+ An Object representing a single conceptual entity which might have multiple File representations. +

+

+ File Sets describe the conceptual entity that Files are concrete manifestations of. + When that entity has multiple manifestations, it may have 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. +

+

+ File Sets do not have members. + Typically, they are members of Works. +

+
+ + + + + + + + + + + + 0 + + + + + +
diff --git "a/data/classes/pcdmworks\302\246Work" "b/data/classes/pcdmworks\302\246Work" new file mode 100644 index 0000000..08af3d5 --- /dev/null +++ "b/data/classes/pcdmworks\302\246Work" @@ -0,0 +1,32 @@ + + + + + + +

+ An Object representing an abstract intellectual entity. +

+

+ Works differ from Objects more generally in that they do not themselves have files. + Instead, they have member File Sets which contain their files. +

+
+ + + + + + + + + + + + 0 + + +
diff --git "a/data/classes/pcdm\302\246Collection" "b/data/classes/pcdm\302\246Collection" new file mode 100644 index 0000000..6b45c28 --- /dev/null +++ "b/data/classes/pcdm\302\246Collection" @@ -0,0 +1,22 @@ + + + + + + +

+ An Aggregation which can have member Objects or other Collections. +

+

+ defines semantics for and (to point to a Proxy of the first member), but this is confused: + These terms are meant to be used for horizontal linking between aggregation members, not vertical linking between aggregations and the things they aggregate. + Consequently, the usage of these properties with Collections is not recommended by this ontology. +

+
+ + + +
diff --git "a/data/classes/pcdm\302\246File" "b/data/classes/pcdm\302\246File" new file mode 100644 index 0000000..fbc4708 --- /dev/null +++ "b/data/classes/pcdm\302\246File" @@ -0,0 +1,80 @@ + + + + + + +

+ A sequence of binary data, as contained within a specific Object. +

+

+ The extent is meant to be interpreted as a file size in bytes (but the exact representation is left fuzzy), and the format is meant to be interpreted as an internet media type. + For the latter, the more specific property may be used. +

+
+ + + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + + + + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + 1 + + + + + + + + +
diff --git "a/data/classes/pcdm\302\246Object" "b/data/classes/pcdm\302\246Object" new file mode 100644 index 0000000..2d23008 --- /dev/null +++ "b/data/classes/pcdm\302\246Object" @@ -0,0 +1,39 @@ + + + + + + +

+ An Aggregation representing an intellectual entity of some kind. +

+

+ Objects may have member Objects (but not Collections) and may also have Files. + The and subclasses provide a more sophisticated modelling. +

+

+ defines semantics for and (to point to a Proxy of the first member), but this is confused: + These terms are meant to be used for horizontal linking between aggregation members, not vertical linking between aggregations and the things they aggregate. + Consequently, the usage of these properties with Objects is not recommended by this ontology. +

+
+ + + + + + + + + + + + + + + + +
diff --git "a/data/classes/skosxl\302\246Label" "b/data/classes/skosxl\302\246Label" index 05d029e..1df202a 100644 --- "a/data/classes/skosxl\302\246Label" +++ "b/data/classes/skosxl\302\246Label" @@ -1,6 +1,6 @@ @@ -14,6 +14,9 @@ SPDX-License-Identifier: CC0-1.0 + + + diff --git "a/data/classes/skos\302\246Collection" "b/data/classes/skos\302\246Collection" index 72020e9..d1f03e2 100644 --- "a/data/classes/skos\302\246Collection" +++ "b/data/classes/skos\302\246Collection" @@ -1,6 +1,6 @@ @@ -19,6 +19,9 @@ SPDX-License-Identifier: CC0-1.0 + + + diff --git "a/data/classes/\302\246OrderedAggregation" "b/data/classes/\302\246OrderedAggregation" new file mode 100644 index 0000000..a82ef3d --- /dev/null +++ "b/data/classes/\302\246OrderedAggregation" @@ -0,0 +1,42 @@ + + + + + + +

+ An Aggregation which may have slots that are orderable by positive integral local notation. +

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git "a/data/classes/\302\246Proxy" "b/data/classes/\302\246Proxy" new file mode 100644 index 0000000..7c544b1 --- /dev/null +++ "b/data/classes/\302\246Proxy" @@ -0,0 +1,41 @@ + + + + + + +

+ A Resource Selection which selects its source in its entirety. +

+

+ Proxies may be used to make state·ments which are only contextually true; the Proxy provides the appropriate context for interpreting the statement. + For example, in , Proxies are used to make state·ments which are only true in the context of a particular Aggregation. +

+
+ + + + + + + + + + + + + + + + + + + + + + + +
diff --git "a/data/classes/\302\246Slot" "b/data/classes/\302\246Slot" new file mode 100644 index 0000000..8668979 --- /dev/null +++ "b/data/classes/\302\246Slot" @@ -0,0 +1,52 @@ + + + + + + +

+ A Proxy which has a local notation, unique within the Aggregation that it is proxy in. +

+
+ + + + + + + + + + + + + 1 + + + + + + + + + + + + 1 + + + + + + + + 1 + + + + + +
diff --git "a/data/classes/\302\246UnicodeScalarValue" "b/data/classes/\302\246UnicodeScalarValue" new file mode 100644 index 0000000..e545390 --- /dev/null +++ "b/data/classes/\302\246UnicodeScalarValue" @@ -0,0 +1,60 @@ + + + + + + +

+ A thing with a value between 0 and 10FFFF₁₆ but not between D800₁₆ and DFFF₁₆, representing a valid Unicode scalar value. +

+

+ Not all Unicode scalar values can be represented in a , so representing them as integers is required. + Unicode Scalar Values are uniquely identified by their value. +

+
+ + + + + + 1 + + + + + + + + + + + + + + + + 0 + 55295 + + + + + + + + 57344 + 1114111 + + + + + + + + + + +
diff --git "a/data/classes/\302\246UnicodeString" "b/data/classes/\302\246UnicodeString" new file mode 100644 index 0000000..29e45a0 --- /dev/null +++ "b/data/classes/\302\246UnicodeString" @@ -0,0 +1,38 @@ + + + + + + +

+ A Ordered List of Unicode Scalar Values. +

+

+ Unicode Strings essentially provide an alternative encoding of in a way which can be reasoned about in R·D·F. + Some Unicode scalar values cannot be represented in a , so strings containing them can only be represented in this manner. +

+
+ + + + + + + + + + + + + + + + + + + + +
diff --git "a/data/datatype_properties/olo\302\246index" "b/data/datatype_properties/olo\302\246index" new file mode 100644 index 0000000..4c479a8 --- /dev/null +++ "b/data/datatype_properties/olo\302\246index" @@ -0,0 +1,29 @@ + + + + + + +

+ The index of this Slot. +

+

+ Indices start from 1. +

+
+ + + + + + + + + + + + +
diff --git "a/data/datatype_properties/olo\302\246length" "b/data/datatype_properties/olo\302\246length" new file mode 100644 index 0000000..468e4fc --- /dev/null +++ "b/data/datatype_properties/olo\302\246length" @@ -0,0 +1,23 @@ + + + + + + +

+ The length of this Ordered List. +

+
+ + + + + + + + + +
diff --git "a/data/datatype_properties/skosxl\302\246literalForm" "b/data/datatype_properties/skosxl\302\246literalForm" index 7a8953a..a34572c 100644 --- "a/data/datatype_properties/skosxl\302\246literalForm" +++ "b/data/datatype_properties/skosxl\302\246literalForm" @@ -1,6 +1,6 @@ @@ -15,12 +15,9 @@ SPDX-License-Identifier: CC0-1.0
- + - - - diff --git "a/data/datatype_properties/\302\246n" "b/data/datatype_properties/\302\246n" new file mode 100644 index 0000000..34ebf29 --- /dev/null +++ "b/data/datatype_properties/\302\246n" @@ -0,0 +1,180 @@ + + + + + + +

+ An integer, string, or time·stamp which identifies and orders a thing within its local context. +

+

+ String values can either be valid ¦s or else have the form of a or with no time·zone component. + These possibilities were selected to ensure that the lexical forms of each type are disjoint. +

+

+ Because this property is functional, a must be used when local notation depends on a particular context. +

+

+ Correctly ordering things by local notation involves two steps. + First, the local notation must be split into a tuple of two parts :⁠— +

+ + +

+ If it is a string which begins with an underscore and contains another underscore which is followed by a period :⁠— +

+ + +

+ Let base be the portion of the string which follows the initial underscore and precedes the first successive underscore‐period sequence. +

+
+ +

+ Let mod be the portion of the string which follows that same underscore‐period sequence. +

+
+ +

+ If mod is not itself a valid canonical representation for some local notation, then the first value of the tuple is the original string, and the second value is the empty string. +

+
+ +

+ Otherwise, if base is a valid or else has the form of a or with no time·zone component, then the tuple is {base, mod}. +

+
+ +

+ Otherwise, if base is the canonical representation of some int, then the tuple is {int, mod}. +

+
+ +

+ Otherwise, make the following modifications to base :⁠— +

+ + +

+ Replace all underscores in base with plusses. +

+
+ +

+ If base contains T, replace the first two periods in base which follow T (if present) with colons. +

+
+ +

+ If base ends in a digit, replace the final remaining period in base (if present) with a colon. +

+
+
+

+ If, after making the above substitutions, base is the canonical representation of some time, then the tuple is {time, mod}. +

+
+ +

+ Otherwise, the first value of the tuple is the original string, and the second value is the empty string. +

+
+
+
+ +

+ Otherwise, the first value of the tuple is the original string, and the second value is the empty string. +

+
+
+

+ Then, the values of the tuples can be sorted according to the following rules, with the first part taking priority over the second :⁠— +

+ + +

+ Empty strings are always sorted first. +

+
+ +

+ Integers are sorted by numeric value and come after empty strings. +

+
+ +

+ Time·stamps and strings which match or come after integers, and are sorted according to their corresponding “time on timeline” values, with the following modifications :⁠— +

+ + +

+ For values, the missing day component is treated as the first rather than the last day of the month +

+
+ +

+ When the “time on timeline” value is the same, sorts before , and sorts before . +

+
+ +

+ When the “time on timeline” value is the same for two values, they are sorted based on their timezone offsets in ascending order. +

+
+
+
+ +

+ Strings which match follow the above, and are sorted lexically by code·point value. +

+
+
+

+ The above algorithm effectively establishes a special microsyntax in which _base_.mod will always sort after base, regardless of base¦s type. + When base is a , a few reversible modifications need to be made in order to satisfy the syntax :⁠— +

+ + +

+ Any colons in the time component or time·zone offset must be replaced with periods. +

+
+ +

+ A plus in the time·zone offset, if present, must be replaced with an underscore. +

+
+
+
+ + + + + + + + + 1 + + + + + + + + + + + + + [0-9]{4}(-[0-9]{2}){1,2} + + + + + + +
diff --git "a/data/datatype_properties/\302\246ncName" "b/data/datatype_properties/\302\246ncName" new file mode 100644 index 0000000..1284a1b --- /dev/null +++ "b/data/datatype_properties/\302\246ncName" @@ -0,0 +1,20 @@ + + + + + + +

+ An identifier for this thing. +

+
+ + + + + + +
diff --git a/data/named_individuals/_FOAF_ b/data/named_individuals/_FOAF_ index fd977d2..32910a1 100644 --- a/data/named_individuals/_FOAF_ +++ b/data/named_individuals/_FOAF_ @@ -36,7 +36,7 @@ SPDX-License-Identifier: CC0-1.0

and are properties for identifying the original, not current, owner of an internet mailbox, and thus not useful for the actual sending of messages. - Originally, these properties were conceived as a means of determining Agent identity; in the case of , this intent is much better served by just using a tag: U·R·I, which can be email‐derived. + Originally, these properties were conceived as a means of determining Agent identity; in the case of , this intent is much better served by just using a tag: U·R·I, which can be e·mail‐derived. is of questionable utility in practice.

diff --git a/data/named_individuals/_IIIF_ b/data/named_individuals/_IIIF_ new file mode 100644 index 0000000..26d0553 --- /dev/null +++ b/data/named_individuals/_IIIF_ @@ -0,0 +1,15 @@ + + + + + + + + + + + + diff --git a/data/named_individuals/_OAI-ORE_ b/data/named_individuals/_OAI-ORE_ new file mode 100644 index 0000000..f1785fe --- /dev/null +++ b/data/named_individuals/_OAI-ORE_ @@ -0,0 +1,25 @@ + + + + + + +

+ 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. +

+

+ The terms for describing aggregations are generally use·ful, and have been extended by models like ; they are included in this ontology. + The Resource Map concept and its related terms (, , ) is less obviously use·ful, and has been excluded for now. +

+
+ + + + + + +
diff --git a/data/named_individuals/_OLO_ b/data/named_individuals/_OLO_ new file mode 100644 index 0000000..9dde828 --- /dev/null +++ b/data/named_individuals/_OLO_ @@ -0,0 +1,25 @@ + + + + + + +

+ The Ordered List Ontology (Olo) provides, as its name implies, a small number of terms for use describing ordered lists. + This help to rectify the faults of other list‐specification mechanisms in consort with Owl; Lists are hard to reason about and Containers require an implicit understanding of which Owl does not provide. +

+

+ This ontology interprets Ordered Lists as Aggregations, and their Slots as a kind of Proxy. + This makes them an ergonomic extension to the mechanisms specified in . +

+
+ + + + + + +
diff --git a/data/named_individuals/_PCDM_ b/data/named_individuals/_PCDM_ new file mode 100644 index 0000000..a685b44 --- /dev/null +++ b/data/named_individuals/_PCDM_ @@ -0,0 +1,50 @@ + + + + + + +

+ 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·C·D·M Models builds on top of to provide basic structural modelling for Collections, their Objects, and the Files associated with them. + This ontology only omits the term , whose meaning and utility is unclear. +

+
+ +

+ P·C·D·M Use provides subclasses for which identify its intended use. + The choice of modelling this using classes, rather than a relationship like , is a bit suspect, but a conversion from one to the other is not especially difficult. +

+
+ +

+ P·C·D·M Rights 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·C·D·M Works expands P·C·D·M Models to add the concepts of Work and File Set. + It also defines two classes for use with , and , which are more suspect in utility and not included in this ontology. +

+
+ +

+ P·C·D·M File Formats provides a set of Concepts for denoting specific file format genres. + These are a bit undocumented, and don¦t have a clear use·case, so they not been encoded into this ontology. +

+
+
+
+ + + +
diff --git a/data/named_individuals/_RFC5005_ b/data/named_individuals/_RFC5005_ new file mode 100644 index 0000000..072ee8e --- /dev/null +++ b/data/named_individuals/_RFC5005_ @@ -0,0 +1,22 @@ + + + + + + +

+ This specification describes the pagination and archiving of Atom feeds, and consequently is a kind of extension to . + As with that specification, it provides the normative definition for a few Relation Types. + Note that and were previously defined in , but H·T·M·L¦s approach to linking is generally unsuitable for use with R·D·F and not considered normative by this ontology. +

+
+ + + + + + +
diff --git "a/data/named_individuals/rel\302\246current" "b/data/named_individuals/rel\302\246current" new file mode 100644 index 0000000..a1f15b3 --- /dev/null +++ "b/data/named_individuals/rel\302\246current" @@ -0,0 +1,20 @@ + + + + + + +

+ A Relation Type indicating a thing which contains the most recent entries in a feed. +

+
+ + + + + + +
diff --git "a/data/named_individuals/rel\302\246first" "b/data/named_individuals/rel\302\246first" new file mode 100644 index 0000000..4c0aafc --- /dev/null +++ "b/data/named_individuals/rel\302\246first" @@ -0,0 +1,20 @@ + + + + + + +

+ A Relation Type indicating a thing which is first in the current series. +

+
+ + + + + + +
diff --git "a/data/named_individuals/rel\302\246last" "b/data/named_individuals/rel\302\246last" new file mode 100644 index 0000000..c9049a3 --- /dev/null +++ "b/data/named_individuals/rel\302\246last" @@ -0,0 +1,20 @@ + + + + + + +

+ A Relation Type indicating a thing which is last in the current series. +

+
+ + + + + + +
diff --git "a/data/named_individuals/rel\302\246next" "b/data/named_individuals/rel\302\246next" new file mode 100644 index 0000000..7b28e0f --- /dev/null +++ "b/data/named_individuals/rel\302\246next" @@ -0,0 +1,20 @@ + + + + + + +

+ A Relation Type indicating a following thing. +

+
+ + + + + + +
diff --git "a/data/named_individuals/rel\302\246next-archive" "b/data/named_individuals/rel\302\246next-archive" new file mode 100644 index 0000000..ce8092e --- /dev/null +++ "b/data/named_individuals/rel\302\246next-archive" @@ -0,0 +1,20 @@ + + + + + + +

+ A Relation Type indicating a following archival thing. +

+
+ + + + + + +
diff --git "a/data/named_individuals/rel\302\246prev-archive" "b/data/named_individuals/rel\302\246prev-archive" new file mode 100644 index 0000000..739cb6d --- /dev/null +++ "b/data/named_individuals/rel\302\246prev-archive" @@ -0,0 +1,20 @@ + + + + + + +

+ A Relation Type indicating a preceding archival thing. +

+
+ + + + + + +
diff --git "a/data/named_individuals/rel\302\246previous" "b/data/named_individuals/rel\302\246previous" new file mode 100644 index 0000000..1c904cf --- /dev/null +++ "b/data/named_individuals/rel\302\246previous" @@ -0,0 +1,20 @@ + + + + + + +

+ A Relation Type indicating a preceding thing. +

+
+ + + + + + +
diff --git "a/data/named_individuals/\302\246AnyWhichWay" "b/data/named_individuals/\302\246AnyWhichWay" new file mode 100644 index 0000000..6db42fc --- /dev/null +++ "b/data/named_individuals/\302\246AnyWhichWay" @@ -0,0 +1,25 @@ + + + + + + +

+ A State which reflects a thing regardless of, or in any, state, time, or condition. +

+
+ + + + + + + + + 0 + + +
diff --git "a/data/named_individuals/\302\246Everything" "b/data/named_individuals/\302\246Everything" new file mode 100644 index 0000000..2546734 --- /dev/null +++ "b/data/named_individuals/\302\246Everything" @@ -0,0 +1,25 @@ + + + + + + +

+ A Selector which selects the entirety of a thing. +

+
+ + + + + + + + + 0 + + +
diff --git "a/data/object_properties/awol\302\246email" "b/data/object_properties/awol\302\246email" index 80dcac6..04225f6 100644 --- "a/data/object_properties/awol\302\246email" +++ "b/data/object_properties/awol\302\246email" @@ -1,11 +1,11 @@ - +

An electronic mailbox for this Social Entity. diff --git "a/data/object_properties/dcterms\302\246coverage" "b/data/object_properties/dcterms\302\246coverage" index 6ba10e7..9351bee 100644 --- "a/data/object_properties/dcterms\302\246coverage" +++ "b/data/object_properties/dcterms\302\246coverage" @@ -1,6 +1,6 @@ @@ -8,7 +8,7 @@ SPDX-License-Identifier: CC0-1.0

- A Location, PeriodOfTime, or Jurisdiction of this thing, which this thing is applicable to, or under which this thing is relevant. + A Location, Period, Or Jurisdiction of this thing, which this thing is applicable to, or under which this thing is relevant.

states that because coverage is so broadly defined, it is preferable to use the more specific subproperties and . @@ -18,12 +18,6 @@ SPDX-License-Identifier: CC0-1.0 - - - - - - - + diff --git "a/data/object_properties/dcterms\302\246format" "b/data/object_properties/dcterms\302\246format" index 805e9a7..8c44f13 100644 --- "a/data/object_properties/dcterms\302\246format" +++ "b/data/object_properties/dcterms\302\246format" @@ -1,6 +1,6 @@ @@ -8,18 +8,13 @@ SPDX-License-Identifier: CC0-1.0

- A File Format, Physical Medium, or Size Or Duration of this thing. + A Media Type Or Extent of this thing.

- - - - - - +
diff --git "a/data/object_properties/olo\302\246item" "b/data/object_properties/olo\302\246item" new file mode 100644 index 0000000..3a162a5 --- /dev/null +++ "b/data/object_properties/olo\302\246item" @@ -0,0 +1,27 @@ + + + + + + +

+ The thing being proxied by this Slot. +

+
+ + + + + + + + + + + + + +
diff --git "a/data/object_properties/olo\302\246next" "b/data/object_properties/olo\302\246next" new file mode 100644 index 0000000..56a08b1 --- /dev/null +++ "b/data/object_properties/olo\302\246next" @@ -0,0 +1,26 @@ + + + + + + +

+ The Slot which immediately follows this Slot (by index) in its Ordered List. +

+
+ + + + + + + + + + + + +
diff --git "a/data/object_properties/olo\302\246ordered_list" "b/data/object_properties/olo\302\246ordered_list" new file mode 100644 index 0000000..ad0cad5 --- /dev/null +++ "b/data/object_properties/olo\302\246ordered_list" @@ -0,0 +1,26 @@ + + + + + + +

+ The Ordered List of this Slot. +

+
+ + + + + + + + + + + + +
diff --git "a/data/object_properties/olo\302\246previous" "b/data/object_properties/olo\302\246previous" new file mode 100644 index 0000000..4d9b389 --- /dev/null +++ "b/data/object_properties/olo\302\246previous" @@ -0,0 +1,29 @@ + + + + + + +

+ The Slot which immediately precedes this Slot (by index) in its Ordered List. +

+
+ + + + + + + + + + + + + + + +
diff --git "a/data/object_properties/olo\302\246slot" "b/data/object_properties/olo\302\246slot" new file mode 100644 index 0000000..423d1ec --- /dev/null +++ "b/data/object_properties/olo\302\246slot" @@ -0,0 +1,26 @@ + + + + + + +

+ A Slot in this Ordered List. +

+
+ + + + + + + + + + + + +
diff --git "a/data/object_properties/ore\302\246aggregates" "b/data/object_properties/ore\302\246aggregates" new file mode 100644 index 0000000..4fb4e59 --- /dev/null +++ "b/data/object_properties/ore\302\246aggregates" @@ -0,0 +1,34 @@ + + + + + + +

+ An Aggregated Resource which is a member of this Aggregation. +

+
+ + + + + + + + + + + + + + + + + + + + +
diff --git "a/data/object_properties/ore\302\246isAggregatedBy" "b/data/object_properties/ore\302\246isAggregatedBy" new file mode 100644 index 0000000..9d2ca32 --- /dev/null +++ "b/data/object_properties/ore\302\246isAggregatedBy" @@ -0,0 +1,37 @@ + + + + + + +

+ An Aggregation which includes this Aggregated Resource as a member. +

+
+ + + + + + + + + + + + + + + + + + + + + + + +
diff --git "a/data/object_properties/ore\302\246lineage" "b/data/object_properties/ore\302\246lineage" new file mode 100644 index 0000000..8d12cc3 --- /dev/null +++ "b/data/object_properties/ore\302\246lineage" @@ -0,0 +1,27 @@ + + + + + + +

+ A Proxy representing an aggregation of an Aggregated Resource in an Aggregation which served as a source for the aggregation that this Proxy represents. +

+

+ 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. +

+
+ + + + + + + + + +
diff --git "a/data/object_properties/ore\302\246proxyFor" "b/data/object_properties/ore\302\246proxyFor" new file mode 100644 index 0000000..2ed3a4d --- /dev/null +++ "b/data/object_properties/ore\302\246proxyFor" @@ -0,0 +1,26 @@ + + + + + + +

+ The Aggregated Resource which this Proxy is proxying. +

+
+ + + + + + + + + + + + +
diff --git "a/data/object_properties/ore\302\246proxyIn" "b/data/object_properties/ore\302\246proxyIn" new file mode 100644 index 0000000..feafc1f --- /dev/null +++ "b/data/object_properties/ore\302\246proxyIn" @@ -0,0 +1,26 @@ + + + + + + +

+ The Aggregation which provides the context for this Proxy. +

+
+ + + + + + + + + + + + +
diff --git "a/data/object_properties/pcdm\302\246hasFile" "b/data/object_properties/pcdm\302\246hasFile" new file mode 100644 index 0000000..6e9ae35 --- /dev/null +++ "b/data/object_properties/pcdm\302\246hasFile" @@ -0,0 +1,26 @@ + + + + + + +

+ A File which comprises part of this Object. +

+
+ + + + + + + + + + + + +
diff --git "a/data/object_properties/pcdm\302\246hasMember" "b/data/object_properties/pcdm\302\246hasMember" new file mode 100644 index 0000000..0f3b7d3 --- /dev/null +++ "b/data/object_properties/pcdm\302\246hasMember" @@ -0,0 +1,27 @@ + + + + + + +

+ An Aggregation which forms a component part of this Aggregation. +

+

+ describes this property only in terms of Objects and Collections, but formally defines its domain and range as Aggregations. + While this might have only been a modelling convenience, this ontology preserves the broader definition, to allow the use of this term without needing a firm stance on whether something is (or isn¦t) an Object or Collection as would have it. +

+
+ + + + + + + + + +
diff --git "a/data/object_properties/pcdm\302\246hasRelatedObject" "b/data/object_properties/pcdm\302\246hasRelatedObject" new file mode 100644 index 0000000..c522bb7 --- /dev/null +++ "b/data/object_properties/pcdm\302\246hasRelatedObject" @@ -0,0 +1,31 @@ + + + + + + +

+ An Object which is aggregated as part of this Aggregation, but which is not considered a component part. +

+

+ This property is intended for things like licensing agreements or cover art which are considered part of an Aggregation from the perspective of resource aggregation, but not from the perspective of conceptual composition. + Related objects are aggregated in and consequently part of the things they are related to, but as something other than a compositional component. + For more general kinds of relation, use . +

+
+ + + + + + + + + + + + +
diff --git "a/data/object_properties/pcdm\302\246isFileOf" "b/data/object_properties/pcdm\302\246isFileOf" new file mode 100644 index 0000000..f5b4eaa --- /dev/null +++ "b/data/object_properties/pcdm\302\246isFileOf" @@ -0,0 +1,29 @@ + + + + + + +

+ An Object which this File comprises part of. +

+
+ + + + + + + + + + + + + + + +
diff --git "a/data/object_properties/pcdm\302\246isMemberOf" "b/data/object_properties/pcdm\302\246isMemberOf" new file mode 100644 index 0000000..dc1514b --- /dev/null +++ "b/data/object_properties/pcdm\302\246isMemberOf" @@ -0,0 +1,30 @@ + + + + + + +

+ An Aggregation which this Aggregation is a component part of. +

+

+ describes this property only in terms of Objects and Collections, but formally defines its domain and range as Aggregations. + While this might have only been a modelling convenience, this ontology preserves the broader definition, to allow the use of this term without needing a firm stance on whether something is (or isn¦t) an Object or Collection as would have it. +

+
+ + + + + + + + + + + + +
diff --git "a/data/object_properties/pcdm\302\246isRelatedObjectOf" "b/data/object_properties/pcdm\302\246isRelatedObjectOf" new file mode 100644 index 0000000..c6f80b2 --- /dev/null +++ "b/data/object_properties/pcdm\302\246isRelatedObjectOf" @@ -0,0 +1,32 @@ + + + + + + +

+ An Aggregation which this Object is aggregated as part of, but in a way which does not imply being a component part. +

+

+ See for further discussion on the correct usage of this property. +

+
+ + + + + + + + + + + + + + + +
diff --git "a/data/object_properties/rel\302\246current" "b/data/object_properties/rel\302\246current" new file mode 100644 index 0000000..bf2bde0 --- /dev/null +++ "b/data/object_properties/rel\302\246current" @@ -0,0 +1,17 @@ + + + + + + +

+ A thing containing the most recent entries in the feed to which this thing also belongs. +

+
+ + + +
diff --git "a/data/object_properties/rel\302\246first" "b/data/object_properties/rel\302\246first" new file mode 100644 index 0000000..e807d75 --- /dev/null +++ "b/data/object_properties/rel\302\246first" @@ -0,0 +1,17 @@ + + + + + + +

+ A first thing in a series of things to which this thing belongs. +

+
+ + + +
diff --git "a/data/object_properties/rel\302\246last" "b/data/object_properties/rel\302\246last" new file mode 100644 index 0000000..ad8588c --- /dev/null +++ "b/data/object_properties/rel\302\246last" @@ -0,0 +1,17 @@ + + + + + + +

+ A last thing in a series of things to which this thing belongs. +

+
+ + + +
diff --git "a/data/object_properties/rel\302\246next" "b/data/object_properties/rel\302\246next" new file mode 100644 index 0000000..ab98d31 --- /dev/null +++ "b/data/object_properties/rel\302\246next" @@ -0,0 +1,17 @@ + + + + + + +

+ A next thing in a series of things to which this thing belongs. +

+
+ + + +
diff --git "a/data/object_properties/rel\302\246next-archive" "b/data/object_properties/rel\302\246next-archive" new file mode 100644 index 0000000..37d8cd3 --- /dev/null +++ "b/data/object_properties/rel\302\246next-archive" @@ -0,0 +1,17 @@ + + + + + + +

+ An immediately following archive document to this thing. +

+
+ + + +
diff --git "a/data/object_properties/rel\302\246prev-archive" "b/data/object_properties/rel\302\246prev-archive" new file mode 100644 index 0000000..9a37501 --- /dev/null +++ "b/data/object_properties/rel\302\246prev-archive" @@ -0,0 +1,17 @@ + + + + + + +

+ An immediately preceding archive document to this thing. +

+
+ + + +
diff --git "a/data/object_properties/rel\302\246previous" "b/data/object_properties/rel\302\246previous" new file mode 100644 index 0000000..2d0c094 --- /dev/null +++ "b/data/object_properties/rel\302\246previous" @@ -0,0 +1,17 @@ + + + + + + +

+ A previous thing in a series of things to which this thing belongs. +

+
+ + + +
diff --git "a/data/object_properties/sioc\302\246email" "b/data/object_properties/sioc\302\246email" index ad67eac..ea3d6a1 100644 --- "a/data/object_properties/sioc\302\246email" +++ "b/data/object_properties/sioc\302\246email" @@ -5,7 +5,7 @@ SPDX-License-Identifier: CC0-1.0 --> - +

An electronic mail address for this Social Entity. diff --git "a/data/object_properties/skos\302\246related" "b/data/object_properties/skos\302\246related" index dd7a9b9..dd8b472 100644 --- "a/data/object_properties/skos\302\246related" +++ "b/data/object_properties/skos\302\246related" @@ -1,6 +1,6 @@ @@ -22,6 +22,9 @@ SPDX-License-Identifier: CC0-1.0 + + + diff --git "a/data/object_properties/skos\302\246semanticRelation" "b/data/object_properties/skos\302\246semanticRelation" index 980ec7b..958c0e5 100644 --- "a/data/object_properties/skos\302\246semanticRelation" +++ "b/data/object_properties/skos\302\246semanticRelation" @@ -1,6 +1,6 @@ @@ -15,7 +15,7 @@ SPDX-License-Identifier: CC0-1.0 - + diff --git "a/data/object_properties/\302\246hasSlot" "b/data/object_properties/\302\246hasSlot" new file mode 100644 index 0000000..0cf4f11 --- /dev/null +++ "b/data/object_properties/\302\246hasSlot" @@ -0,0 +1,27 @@ + + + + + + +

+ A Slot in this Aggregation. +

+
+ + + + + + + + + + + + + +
diff --git "a/data/object_properties/\302\246in" "b/data/object_properties/\302\246in" new file mode 100644 index 0000000..99e40f5 --- /dev/null +++ "b/data/object_properties/\302\246in" @@ -0,0 +1,17 @@ + + + + + + +

+ The local context for this thing, in terms of which its properties should be considered. +

+

+ If a thing does not have an inherent local context, local contexts (and associated properties) may be added thru the use of Proxies. +

+
+
diff --git "a/data/object_properties/\302\246inSlot" "b/data/object_properties/\302\246inSlot" new file mode 100644 index 0000000..1a5bcdb --- /dev/null +++ "b/data/object_properties/\302\246inSlot" @@ -0,0 +1,24 @@ + + + + + + +

+ A Slot that is proxy for this thing. +

+
+ + + + + + + + + + +
diff --git "a/data/ontologies/\302\246" "b/data/ontologies/\302\246" index 034b83b..680b0e9 100644 --- "a/data/ontologies/\302\246" +++ "b/data/ontologies/\302\246" @@ -77,10 +77,30 @@ SPDX-License-Identifier: CC0-1.0 ladys https://vocab.ladys.computer/terms/ + + olo + http://purl.org/ontology/olo/core# + + + ore + http://www.openarchives.org/ore/terms/ + owl http://www.w3.org/2002/07/owl# + + pcdm + http://pcdm.org/models# + + + pcdmuse + http://pcdm.org/use# + + + pcdmworks + http://pcdm.org/works# + rdf http://www.w3.org/1999/02/22-rdf-syntax-ns# diff --git a/parsers/ontology.xslt b/parsers/ontology.xslt index bd5d7b7..dce85eb 100644 --- a/parsers/ontology.xslt +++ b/parsers/ontology.xslt @@ -335,6 +335,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one + ^^ < @@ -371,7 +372,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one Vocabvocab: - + html: @@ -386,7 +387,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one shacl: - + skos: @@ -499,8 +500,8 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one http://www.w3.org/2001/XMLSchema#string - - + + diff --git a/scripts/serve.rb b/scripts/serve.rb new file mode 100755 index 0000000..cf3b14a --- /dev/null +++ b/scripts/serve.rb @@ -0,0 +1,18 @@ +#!/usr/bin/ruby +# SPDX-FileCopyrightText: 2025 Lady +# SPDX-License-Identifier: CC0-1.0 + +require "webrick" + +server = WEBrick::HTTPServer.new(Port: ARGV[0] || 3000, DocumentRoot: "public", DirectoryIndex: ["index.xhtml"]) +trap 'INT' do server.shutdown end + +class XHTMLHandler < WEBrick::HTTPServlet::DefaultFileHandler + def do_GET request, response + super + response['Content-Type'] = 'application/xhtml+xml' + end +end +WEBrick::HTTPServlet::FileHandler.add_handler("xhtml", XHTMLHandler) + +server.start diff --git a/transforms/cleanup.xslt b/transforms/cleanup.xslt index f572d60..33fb412 100644 --- a/transforms/cleanup.xslt +++ b/transforms/cleanup.xslt @@ -42,4 +42,5 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one + -