From: Lady Date: Mon, 24 Feb 2025 02:10:58 +0000 (-0500) Subject: Add Olo X-Git-Url: https://git.ladys.computer/Vocab/commitdiff_plain/80a278934101021d491140c9fd1bc992ec7d3d18 Add Olo This defines Ordered Lists as effectively a more ergonomic kind of Aggregation, which helps with bridging them and Ore‐ or P·C·D·M‐based models. One caveat is that this requires Slots to have exactly one item, and their item to be an object (i·e not a literal). In an alternate universe, Slots could instead have had _either_ an item _or_ a value, but it’s simple enough to just make their item be an object with that value instead. Helping to facilitate the above is a new Ordered Aggregation in the `ladys:` name·space, which is like an Ordered List but without the requirement of a length. --- diff --git "a/data/classes/olo\302\246OrderedList" "b/data/classes/olo\302\246OrderedList" new file mode 100644 index 0000000..febdc9d --- /dev/null +++ "b/data/classes/olo\302\246OrderedList" @@ -0,0 +1,28 @@ + + + + + + +

+ 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..b49cf97 --- /dev/null +++ "b/data/classes/olo\302\246Slot" @@ -0,0 +1,54 @@ + + + + + + +

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

+

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

+

+ When an Ordered Aggregation has a slot, its index must be unique within that Ordered Aggregation. + However, Slots are permitted to be proxies in other kinds of Aggregation, in which case index uniqueness is not required. +

+

+ When a Slot has an ordered list, its index should be less than or equal to the length of that Ordered List. +

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

+ An Aggregation which may have slots that are orderable by numeric index. +

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

+ 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/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/object_properties/olo\302\246item" "b/data/object_properties/olo\302\246item" new file mode 100644 index 0000000..ab3c4d7 --- /dev/null +++ "b/data/object_properties/olo\302\246item" @@ -0,0 +1,23 @@ + + + + + + +

+ 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..8aac113 --- /dev/null +++ "b/data/object_properties/olo\302\246slot" @@ -0,0 +1,23 @@ + + + + + + +

+ A Slot in this Ordered List. +

+
+ + + + + + + + + +
diff --git "a/data/object_properties/ore\302\246proxyFor" "b/data/object_properties/ore\302\246proxyFor" index c2bd8ed..2ed3a4d 100644 --- "a/data/object_properties/ore\302\246proxyFor" +++ "b/data/object_properties/ore\302\246proxyFor" @@ -4,7 +4,7 @@ SPDX-FileCopyrightText: 2025 Lady 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..fe77399 --- /dev/null +++ "b/data/object_properties/\302\246hasSlot" @@ -0,0 +1,27 @@ + + + + + + +

+ A Slot in this Ordered Aggregation. +

+
+ + + + + + + + + + + + + +
diff --git "a/data/ontologies/\302\246" "b/data/ontologies/\302\246" index cdc6aa1..680b0e9 100644 --- "a/data/ontologies/\302\246" +++ "b/data/ontologies/\302\246" @@ -77,6 +77,10 @@ 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/ diff --git a/transforms/infer.xslt b/transforms/infer.xslt index 056e57a..c37f339 100644 --- a/transforms/infer.xslt +++ b/transforms/infer.xslt @@ -92,7 +92,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one - + @@ -175,7 +175,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one - + @@ -276,6 +276,7 @@ If a copy of the M·P·L was not distributed with this file, You can obtain one +