1
0
mirror of https://codeberg.org/fediverse/fep.git synced 2026-08-09 05:56:10 +00:00

Add FEP-1985

This commit is contained in:
a
2024-10-10 14:12:24 -05:00
parent 841511ff56
commit 38e9874973
24 changed files with 992 additions and 0 deletions
@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<title>ForwardChronological</title>
</head>
<body>
<section id="ForwardChronological" resource="https://w3id.org/fep/1985/ForwardChronological" typeof="rdfs:Class">
<h1>ForwardChronological</h1>
<dl>
<dt>URI</dt>
<dd><code>https://w3id.org/fep/1985/ForwardChronological</code>
</dd>
<dt>Label</dt>
<dd lang="en" property="rdfs:label">forward chronological order</dd>
<dt>Comment</dt>
<dd lang="en" property="rdfs:comment">This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end.</dd>
<dt>Subclass of</dt>
<dd property="rdfs:subClassOf" resource="https://w3id.org/fep/1985/OrderingClass">OrderingClass</dd>
<dt>See also</dt>
<dd><a href="https://w3id.org/fep/1985/orderType" property="rdfs:seeAlso">orderType</a></dd>
<dt>Is defined by</dt>
<dd><a href="https://w3id.org/fep/1985" property="rdfs:isDefinedBy">FEP-1985</a></dd>
</dl>
</section>
</body>
</html>
@@ -0,0 +1,35 @@
[
{
"@id": "https://w3id.org/fep/1985/ForwardChronological",
"@type": [
"http://www.w3.org/2000/01/rdf-schema#Class"
],
"http://www.w3.org/2000/01/rdf-schema#comment": [
{
"@language": "en",
"@value": "This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end."
}
],
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [
{
"@id": "https://w3id.org/fep/1985"
}
],
"http://www.w3.org/2000/01/rdf-schema#label": [
{
"@language": "en",
"@value": "forward chronological order"
}
],
"http://www.w3.org/2000/01/rdf-schema#seeAlso": [
{
"@id": "https://w3id.org/fep/1985/orderType"
}
],
"http://www.w3.org/2000/01/rdf-schema#subClassOf": [
{
"@id": "https://w3id.org/fep/1985/OrderingClass"
}
]
}
]
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
<rdf:Description rdf:about="https://w3id.org/fep/1985/ForwardChronological">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:label xml:lang="en">forward chronological order</rdfs:label>
<rdfs:comment xml:lang="en">This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end.</rdfs:comment>
<rdfs:subClassOf rdf:resource="https://w3id.org/fep/1985/OrderingClass"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/orderType"/>
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/1985"/>
</rdf:Description>
</rdf:RDF>
@@ -0,0 +1,8 @@
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<https://w3id.org/fep/1985/ForwardChronological> a rdfs:Class ;
rdfs:label "forward chronological order"@en ;
rdfs:comment "This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end."@en ;
rdfs:isDefinedBy <https://w3id.org/fep/1985> ;
rdfs:seeAlso <https://w3id.org/fep/1985/orderType> ;
rdfs:subClassOf <https://w3id.org/fep/1985/OrderingClass> .
+20
View File
@@ -0,0 +1,20 @@
# ForwardChronological
URI
: `https://w3id.org/fep/1985/ForwardChronological`
Label
: forward chronological order
Comment
: This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end.
Subclass of
: OrderingClass
See also
: [orderType](https://w3id.org/fep/1985/orderType)
Is defined by
: [FEP-1985](https://w3id.org/fep/1985)
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>OrderingClass</title>
</head>
<body>
<section excluded="1" id="OrderingClass" resource="https://w3id.org/fep/1985/OrderingClass" typeof="rdfs:Class">
<h1>OrderingClass</h1>
<dl>
<dt>URI</dt>
<dd><code>https://w3id.org/fep/1985/OrderingClass</code>
</dd>
<dt>Label</dt>
<dd lang="en" property="rdfs:label">OrderingClass</dd>
<dt>Comment</dt>
<dd lang="en" property="rdfs:comment">Abstract base class for the <code>orderType</code> property's range.</dd>
<dt>See also</dt>
<dd><a href="https://w3id.org/fep/1985/ForwardChronological" property="rdfs:seeAlso">ForwardChronological</a> | <a href="https://w3id.org/fep/1985/ReverseChronological" property="rdfs:seeAlso">ReverseChronological</a></dd>
<dt>Is defined by</dt>
<dd><a href="https://w3id.org/fep/1985" property="rdfs:isDefinedBy">FEP-1985</a></dd>
</dl>
</section>
</body>
</html>
@@ -0,0 +1,33 @@
[
{
"@id": "https://w3id.org/fep/1985/OrderingClass",
"@type": [
"http://www.w3.org/2000/01/rdf-schema#Class"
],
"http://www.w3.org/2000/01/rdf-schema#comment": [
{
"@language": "en",
"@value": "Abstract base class for the orderType property's range."
}
],
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [
{
"@id": "https://w3id.org/fep/1985"
}
],
"http://www.w3.org/2000/01/rdf-schema#label": [
{
"@language": "en",
"@value": "OrderingClass"
}
],
"http://www.w3.org/2000/01/rdf-schema#seeAlso": [
{
"@id": "https://w3id.org/fep/1985/ForwardChronological"
},
{
"@id": "https://w3id.org/fep/1985/ReverseChronological"
}
]
}
]
+14
View File
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
<rdf:Description rdf:about="https://w3id.org/fep/1985/OrderingClass">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:label xml:lang="en">OrderingClass</rdfs:label>
<rdfs:comment xml:lang="en">Abstract base class for the orderType property's range.</rdfs:comment>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/ForwardChronological"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/ReverseChronological"/>
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/1985"/>
</rdf:Description>
</rdf:RDF>
+8
View File
@@ -0,0 +1,8 @@
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<https://w3id.org/fep/1985/OrderingClass> a rdfs:Class ;
rdfs:label "OrderingClass"@en ;
rdfs:comment "Abstract base class for the orderType property's range."@en ;
rdfs:isDefinedBy <https://w3id.org/fep/1985> ;
rdfs:seeAlso <https://w3id.org/fep/1985/ForwardChronological>,
<https://w3id.org/fep/1985/ReverseChronological> .
+17
View File
@@ -0,0 +1,17 @@
# OrderingClass
URI
: `https://w3id.org/fep/1985/OrderingClass`
Label
: OrderingClass
Comment
: Abstract base class for the `orderType` property's range.
See also
: [ForwardChronological](https://w3id.org/fep/1985/ForwardChronological) | [ReverseChronological](https://w3id.org/fep/1985/ReverseChronological)
Is defined by
: [FEP-1985](https://w3id.org/fep/1985)
+20
View File
@@ -0,0 +1,20 @@
# ReverseChronological
URI
: `https://w3id.org/fep/1985/ReverseChronological`
Label
: reverse chronological order
Comment
: This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start.
Subclass of
: OrderingClass
See also
: [orderType](https://w3id.org/fep/1985/orderType)
Is defined by
: [FEP-1985](https://w3id.org/fep/1985)
@@ -0,0 +1,26 @@
<!DOCTYPE html>
<html>
<head>
<title>ReverseChronological</title>
</head>
<body>
<section id="ReverseChronological" resource="https://w3id.org/fep/1985/ReverseChronological" typeof="rdfs:Class">
<h1>ReverseChronological</h1>
<dl>
<dt>URI</dt>
<dd><code>https://w3id.org/fep/1985/ReverseChronological</code>
</dd>
<dt>Label</dt>
<dd lang="en" property="rdfs:label">reverse chronological order</dd>
<dt>Comment</dt>
<dd lang="en" property="rdfs:comment">This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start.</dd>
<dt>Subclass of</dt>
<dd property="rdfs:subClassOf" resource="https://w3id.org/fep/1985/OrderingClass">OrderingClass</dd>
<dt>See also</dt>
<dd><a href="https://w3id.org/fep/1985/orderType" property="rdfs:seeAlso">orderType</a></dd>
<dt>Is defined by</dt>
<dd><a href="https://w3id.org/fep/1985" property="rdfs:isDefinedBy">FEP-1985</a></dd>
</dl>
</section>
</body>
</html>
@@ -0,0 +1,35 @@
[
{
"@id": "https://w3id.org/fep/1985/ReverseChronological",
"@type": [
"http://www.w3.org/2000/01/rdf-schema#Class"
],
"http://www.w3.org/2000/01/rdf-schema#comment": [
{
"@language": "en",
"@value": "This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start."
}
],
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [
{
"@id": "https://w3id.org/fep/1985"
}
],
"http://www.w3.org/2000/01/rdf-schema#label": [
{
"@language": "en",
"@value": "reverse chronological order"
}
],
"http://www.w3.org/2000/01/rdf-schema#seeAlso": [
{
"@id": "https://w3id.org/fep/1985/orderType"
}
],
"http://www.w3.org/2000/01/rdf-schema#subClassOf": [
{
"@id": "https://w3id.org/fep/1985/OrderingClass"
}
]
}
]
@@ -0,0 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
<rdf:Description rdf:about="https://w3id.org/fep/1985/ReverseChronological">
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:label xml:lang="en">reverse chronological order</rdfs:label>
<rdfs:comment xml:lang="en">This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start.</rdfs:comment>
<rdfs:subClassOf rdf:resource="https://w3id.org/fep/1985/OrderingClass"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/orderType"/>
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/1985"/>
</rdf:Description>
</rdf:RDF>
@@ -0,0 +1,8 @@
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
<https://w3id.org/fep/1985/ReverseChronological> a rdfs:Class ;
rdfs:label "reverse chronological order"@en ;
rdfs:comment "This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start."@en ;
rdfs:isDefinedBy <https://w3id.org/fep/1985> ;
rdfs:seeAlso <https://w3id.org/fep/1985/orderType> ;
rdfs:subClassOf <https://w3id.org/fep/1985/OrderingClass> .
+137
View File
@@ -0,0 +1,137 @@
{
"@context": {
"ForwardChronological": "https://w3id.org/fep/1985/ForwardChronological",
"ReverseChronological": "https://w3id.org/fep/1985/ReverseChronological",
"orderType": {
"@id": "https://w3id.org/fep/1985/orderType",
"@type": "@vocab"
}
},
"@graph": [
{
"@id": "https://w3id.org/fep/1985/orderType",
"@type": "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property",
"http://www.w3.org/2000/01/rdf-schema#comment": {
"@language": "en",
"@value": "Indicates the type of ordering for an OrderedCollection."
},
"http://www.w3.org/2000/01/rdf-schema#domain": {
"@id": "https://www.w3.org/ns/activitystreams#OrderedCollection"
},
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": {
"@id": "https://w3id.org/fep/1985"
},
"http://www.w3.org/2000/01/rdf-schema#label": {
"@language": "en",
"@value": "is ordered in"
},
"http://www.w3.org/2000/01/rdf-schema#range": {
"@id": "https://w3id.org/fep/1985/OrderingClass"
},
"http://www.w3.org/2000/01/rdf-schema#seeAlso": [
{
"@id": "https://w3id.org/fep/1985/ReverseChronological"
},
{
"@id": "https://w3id.org/fep/1985/ForwardChronological"
}
],
"http://www.w3.org/2002/07/owl#maxCardinality": {
"@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger",
"@value": "1"
},
"http://www.w3.org/2002/07/owl#minCardinality": {
"@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger",
"@value": "0"
}
},
{
"@id": "https://w3id.org/fep/1985/ReverseChronological",
"@type": "http://www.w3.org/2000/01/rdf-schema#Class",
"http://www.w3.org/2000/01/rdf-schema#comment": {
"@language": "en",
"@value": "This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start."
},
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": {
"@id": "https://w3id.org/fep/1985"
},
"http://www.w3.org/2000/01/rdf-schema#label": {
"@language": "en",
"@value": "reverse chronological order"
},
"http://www.w3.org/2000/01/rdf-schema#seeAlso": {
"@id": "https://w3id.org/fep/1985/orderType"
},
"http://www.w3.org/2000/01/rdf-schema#subClassOf": {
"@id": "https://w3id.org/fep/1985/OrderingClass"
}
},
{
"@id": "https://w3id.org/fep/1985",
"@type": "http://www.w3.org/2002/07/owl#Ontology",
"http://purl.org/dc/elements/1.1/creator": "a <a@trwnh.com>",
"http://purl.org/dc/elements/1.1/rights": {
"@language": "en",
"@value": "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication"
},
"http://purl.org/dc/terms/abstract": "OrderedCollection is defined as an ordered set in the Activity Vocabulary, but the precise ordering is not defined. The ActivityPub specification requires that instances of OrderedCollection MUST be ordered reverse chronologically by insertion order, but a later errata was proposed to relax this restriction by only applying it to properties defined as OrderedCollection within the ActivityPub specification. Consequently, this allows for some collections to be presented forward chronologically by insertion order, and some collections to be presented reverse chronologically by insertion order. This FEP introduces an orderType property and two vocabulary terms ForwardChronological and ReverseChronological to explicitly signal the ordering of a collection.",
"http://purl.org/dc/terms/dateSubmitted": {
"@type": "http://www.w3.org/2001/XMLSchema#date",
"@value": "2024-10-06"
},
"http://purl.org/dc/terms/identifier": {
"@type": "http://www.w3.org/2001/XMLSchema#anyURI",
"@value": "https://w3id.org/fep/1985"
},
"http://purl.org/dc/terms/license": {
"@id": "https://creativecommons.org/publicdomain/zero/1.0/"
},
"http://purl.org/dc/terms/title": "FEP-1985: Signaling how an OrderedCollection is ordered"
},
{
"@id": "https://w3id.org/fep/1985/OrderingClass",
"@type": "http://www.w3.org/2000/01/rdf-schema#Class",
"http://www.w3.org/2000/01/rdf-schema#comment": {
"@language": "en",
"@value": "Abstract base class for the orderType property's range."
},
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": {
"@id": "https://w3id.org/fep/1985"
},
"http://www.w3.org/2000/01/rdf-schema#label": {
"@language": "en",
"@value": "OrderingClass"
},
"http://www.w3.org/2000/01/rdf-schema#seeAlso": [
{
"@id": "https://w3id.org/fep/1985/ReverseChronological"
},
{
"@id": "https://w3id.org/fep/1985/ForwardChronological"
}
]
},
{
"@id": "https://w3id.org/fep/1985/ForwardChronological",
"@type": "http://www.w3.org/2000/01/rdf-schema#Class",
"http://www.w3.org/2000/01/rdf-schema#comment": {
"@language": "en",
"@value": "This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end."
},
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": {
"@id": "https://w3id.org/fep/1985"
},
"http://www.w3.org/2000/01/rdf-schema#label": {
"@language": "en",
"@value": "forward chronological order"
},
"http://www.w3.org/2000/01/rdf-schema#seeAlso": {
"@id": "https://w3id.org/fep/1985/orderType"
},
"http://www.w3.org/2000/01/rdf-schema#subClassOf": {
"@id": "https://w3id.org/fep/1985/OrderingClass"
}
}
],
"@id": "https://w3id.org/fep/1985#"
}
+225
View File
@@ -0,0 +1,225 @@
---
slug: "1985"
authors: a <a@trwnh.com>
status: DRAFT
dateReceived: 2024-10-10
discussionsTo: https://socialhub.activitypub.rocks/t/fep-1985-signaling-how-an-orderedcollection-is-ordered/4653
---
# FEP-1985: Signaling how an OrderedCollection is ordered
## Summary
OrderedCollection is defined as an ordered set in [the Activity Vocabulary][AS2-Vocab], but the precise ordering is not defined. The [ActivityPub][ActivityPub] specification requires that instances of OrderedCollection MUST be ordered reverse chronologically by insertion order, but a [later errata][AP-errata] was proposed to relax this restriction by only applying it to properties defined as OrderedCollection within the [ActivityPub][ActivityPub] specification. Consequently, this allows for some collections to be presented forward chronologically by insertion order, and some collections to be presented reverse chronologically by insertion order. This FEP introduces an `orderType` property and two vocabulary terms `ForwardChronological` and `ReverseChronological` to explicitly signal the ordering of a collection.
## Terms defined
<section id="orderType" resource="https://w3id.org/fep/1985/orderType" typeof="rdf:Property">
<h3>orderType</h3>
<dl>
<dt>URI</dt>
<dd><code>https://w3id.org/fep/1985/orderType</code></dd>
<dt>Label</dt>
<dd property="rdfs:label" lang="en">is ordered in</dd>
<dt>Comment</dt>
<dd property="rdfs:comment" lang="en">Indicates the type of ordering for an OrderedCollection.</dd>
<dt>Domain</dt>
<dd><a property="rdfs:domain" resource="as:OrderedCollection" href="https://www.w3.org/ns/activitystreams#OrderedCollection">OrderedCollection</a></dd>
<dt>Range</dt>
<dd><a property="rdfs:range" resource="https://w3id.org/fep/1985/OrderingClass" href="https://w3id.org/fep/1985/OrderingClass">OrderingClass</a> (@vocab)</dd>
<dt>Required</dt>
<dd property="owl:minCardinality" content="0" datatype="xsd:nonNegativeInteger">No</dd>
<dt>Functional</dt>
<dd property="owl:maxCardinality" content="1" datatype="xsd:nonNegativeInteger">Yes</dd>
<dt>See also</dt>
<dd><a property="rdfs:seeAlso" href="https://w3id.org/fep/1985/ForwardChronological">ForwardChronological</a> | <a property="rdfs:seeAlso" href="https://w3id.org/fep/1985/ReverseChronological">ReverseChronological</a></dd>
<dt>Is defined by</dt>
<dd><a property="rdfs:isDefinedBy" href="https://w3id.org/fep/1985">FEP-1985</a></dd>
</dl>
<pre title="Example of a forward chronological OrderedCollection with additional context">
<code>
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/fep/1985"
],
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/1",
"https://domain.example/objects/2",
"https://domain.example/objects/3"
],
"orderType": "ForwardChronological"
}
</code>
</pre>
<pre title="Example of a forward chronological OrderedCollection without additional context">
<code>
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/1",
"https://domain.example/objects/2",
"https://domain.example/objects/3"
],
"https://w3id.org/fep/1985/orderType": {
"id": "https://w3id.org/fep/1985/ForwardChronological"
}
}
</code>
</pre>
</section>
<section id="OrderingClass" resource="https://w3id.org/fep/1985/OrderingClass" typeof="rdfs:Class" excluded="1">
<h3>OrderingClass</h3>
<dl>
<dt>URI</dt>
<dd><code>https://w3id.org/fep/1985/OrderingClass</code>
</dd>
<dt>Label</dt>
<dd property="rdfs:label" lang="en">OrderingClass</dd>
<dt>Comment</dt>
<dd property="rdfs:comment" lang="en">Abstract base class for the <code>orderType</code> property's range.</dd>
<dt>See also</dt>
<dd><a property="rdfs:seeAlso" href="https://w3id.org/fep/1985/ForwardChronological">ForwardChronological</a> | <a property="rdfs:seeAlso" href="https://w3id.org/fep/1985/ReverseChronological">ReverseChronological</a></dd>
<dt>Is defined by</dt>
<dd><a property="rdfs:isDefinedBy" href="https://w3id.org/fep/1985">FEP-1985</a></dd>
</dl>
</section>
<section id="ForwardChronological" resource="https://w3id.org/fep/1985/ForwardChronological" typeof="rdfs:Class">
<h3>ForwardChronological</h3>
<dl>
<dt>URI</dt>
<dd><code>https://w3id.org/fep/1985/ForwardChronological</code>
</dd>
<dt>Label</dt>
<dd property="rdfs:label" lang="en">forward chronological order</dd>
<dt>Comment</dt>
<dd property="rdfs:comment" lang="en">This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end.</dd>
<dt>Subclass of</dt>
<dd property="rdfs:subClassOf" resource="https://w3id.org/fep/1985/OrderingClass">OrderingClass</dd>
<dt>See also</dt>
<dd><a property="rdfs:seeAlso" href="https://w3id.org/fep/1985/orderType">orderType</a></dd>
<dt>Is defined by</dt>
<dd><a property="rdfs:isDefinedBy" href="https://w3id.org/fep/1985">FEP-1985</a></dd>
</dl>
</section>
<section id="ReverseChronological" resource="https://w3id.org/fep/1985/ReverseChronological" typeof="rdfs:Class">
<h3>ReverseChronological</h3>
<dl>
<dt>URI</dt>
<dd><code>https://w3id.org/fep/1985/ReverseChronological</code>
</dd>
<dt>Label</dt>
<dd property="rdfs:label" lang="en">reverse chronological order</dd>
<dt>Comment</dt>
<dd property="rdfs:comment" lang="en">This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start.</dd>
<dt>Subclass of</dt>
<dd property="rdfs:subClassOf" resource="https://w3id.org/fep/1985/OrderingClass">OrderingClass</dd>
<dt>See also</dt>
<dd><a property="rdfs:seeAlso" href="https://w3id.org/fep/1985/orderType">orderType</a></dd>
<dt>Is defined by</dt>
<dd><a property="rdfs:isDefinedBy" href="https://w3id.org/fep/1985">FEP-1985</a></dd>
</dl>
</section>
## Examples
(This section is non-normative.)
Example of a forward chronological OrderedCollection with additional context:
```json
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/fep/1985"
],
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/1",
"https://domain.example/objects/2",
"https://domain.example/objects/3"
],
"orderType": "ForwardChronological"
}
```
Example of a forward chronological OrderedCollection without additional context:
```json
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/1",
"https://domain.example/objects/2",
"https://domain.example/objects/3"
],
"https://w3id.org/fep/1985/orderType": {
"id": "https://w3id.org/fep/1985/ForwardChronological"
}
}
```
Example of a reverse chronological OrderedCollection with additional context:
```json
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/fep/1985"
],
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/3",
"https://domain.example/objects/2",
"https://domain.example/objects/1"
],
"orderType": "ReverseChronological"
}
```
Example of a reverse chronological OrderedCollection without additional context:
```json
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/3",
"https://domain.example/objects/2",
"https://domain.example/objects/1"
],
"https://w3id.org/fep/1985/orderType": {
"id": "https://w3id.org/fep/1985/ReverseChronological"
}
}
```
## References
- Christine Lemmer Webber, Jessica Tallon, [ActivityPub][ActivityPub], 2018
- James M Snell, Evan Prodromou, [Activity Vocabulary][AS2-Vocab], 2017
- W3C Wiki contributors, [ActivityPub errata][AP-errata], 2024
- a, [Evolving OrderedCollection to be more useful][thread], 2020
[ActivityPub]: https://www.w3.org/TR/activitypub
[AS2-Vocab]: https://www.w3.org/TR/activitystreams-vocabulary
[thread]: https://socialhub.activitypub.rocks/t/pre-fep-evolving-orderedcollection-to-be-more-useful/4608
[AP-errata]: https://www.w3.org/wiki/ActivityPub_errata#Clarify_that_the_%22reverse_chronological_order%22_requirement_only_applies_to_OrderedCollection_properties_defined_in_ActivityPub,_not_to_all_OrderedCollection_entities
## Copyright
CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
To the extent possible under law, the authors of this Fediverse Enhancement Proposal have waived all copyright and related or neighboring rights to this work.
+55
View File
@@ -0,0 +1,55 @@
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dcterms="http://purl.org/dc/terms/"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
<rdf:Description rdf:about="https://w3id.org/fep/1985">
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Ontology"/>
<dcterms:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://w3id.org/fep/1985</dcterms:identifier>
<dc:rights xml:lang="en">CC0 1.0 Universal (CC0 1.0) Public Domain Dedication</dc:rights>
<dcterms:license rdf:resource="https://creativecommons.org/publicdomain/zero/1.0/"/>
<dcterms:title>FEP-1985: Signaling how an OrderedCollection is ordered</dcterms:title>
<dcterms:abstract>OrderedCollection is defined as an ordered set in the Activity Vocabulary, but the precise ordering is not defined. The ActivityPub specification requires that instances of OrderedCollection MUST be ordered reverse chronologically by insertion order, but a later errata was proposed to relax this restriction by only applying it to properties defined as OrderedCollection within the ActivityPub specification. Consequently, this allows for some collections to be presented forward chronologically by insertion order, and some collections to be presented reverse chronologically by insertion order. This FEP introduces an orderType property and two vocabulary terms ForwardChronological and ReverseChronological to explicitly signal the ordering of a collection.</dcterms:abstract>
<dc:creator>a &lt;a@trwnh.com&gt;</dc:creator>
<dcterms:dateSubmitted rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2024-10-06</dcterms:dateSubmitted>
</rdf:Description>
<rdf:Description rdf:about="https://w3id.org/fep/1985/ForwardChronological">
<rdfs:comment xml:lang="en">This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end.</rdfs:comment>
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/1985"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/orderType"/>
<rdfs:subClassOf rdf:resource="https://w3id.org/fep/1985/OrderingClass"/>
<rdfs:label xml:lang="en">forward chronological order</rdfs:label>
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
</rdf:Description>
<rdf:Description rdf:about="https://w3id.org/fep/1985/orderType">
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/ReverseChronological"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/ForwardChronological"/>
<rdfs:domain rdf:resource="https://www.w3.org/ns/activitystreams#OrderedCollection"/>
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/1985"/>
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
<rdfs:range rdf:resource="https://w3id.org/fep/1985/OrderingClass"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
<rdfs:comment xml:lang="en">Indicates the type of ordering for an OrderedCollection.</rdfs:comment>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
<rdfs:label xml:lang="en">is ordered in</rdfs:label>
</rdf:Description>
<rdf:Description rdf:about="https://w3id.org/fep/1985/OrderingClass">
<rdfs:label xml:lang="en">OrderingClass</rdfs:label>
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/1985"/>
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/ReverseChronological"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/ForwardChronological"/>
<rdfs:comment xml:lang="en">Abstract base class for the orderType property's range.</rdfs:comment>
</rdf:Description>
<rdf:Description rdf:about="https://w3id.org/fep/1985/ReverseChronological">
<rdfs:comment xml:lang="en">This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start.</rdfs:comment>
<rdfs:label xml:lang="en">reverse chronological order</rdfs:label>
<rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/>
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/1985"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/orderType"/>
<rdfs:subClassOf rdf:resource="https://w3id.org/fep/1985/OrderingClass"/>
</rdf:Description>
</rdf:RDF>
+49
View File
@@ -0,0 +1,49 @@
@prefix as: <https://www.w3.org/ns/activitystreams#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<https://w3id.org/fep/1985/ForwardChronological> a rdfs:Class ;
rdfs:label "forward chronological order"@en ;
rdfs:comment "This OrderedCollection is ordered forward chronologically, and adding an item to this collection will add it at the end."@en ;
rdfs:isDefinedBy <https://w3id.org/fep/1985> ;
rdfs:seeAlso <https://w3id.org/fep/1985/orderType> ;
rdfs:subClassOf <https://w3id.org/fep/1985/OrderingClass> .
<https://w3id.org/fep/1985/OrderingClass> a rdfs:Class ;
rdfs:label "OrderingClass"@en ;
rdfs:comment "Abstract base class for the orderType property's range."@en ;
rdfs:isDefinedBy <https://w3id.org/fep/1985> ;
rdfs:seeAlso <https://w3id.org/fep/1985/ForwardChronological>,
<https://w3id.org/fep/1985/ReverseChronological> .
<https://w3id.org/fep/1985/ReverseChronological> a rdfs:Class ;
rdfs:label "reverse chronological order"@en ;
rdfs:comment "This OrderedCollection is ordered reverse chronologically, and adding an item to this collection will add it at the start."@en ;
rdfs:isDefinedBy <https://w3id.org/fep/1985> ;
rdfs:seeAlso <https://w3id.org/fep/1985/orderType> ;
rdfs:subClassOf <https://w3id.org/fep/1985/OrderingClass> .
<https://w3id.org/fep/1985/orderType> a rdf:Property ;
rdfs:label "is ordered in"@en ;
rdfs:comment "Indicates the type of ordering for an OrderedCollection."@en ;
rdfs:domain as:OrderedCollection ;
rdfs:isDefinedBy <https://w3id.org/fep/1985> ;
rdfs:range <https://w3id.org/fep/1985/OrderingClass> ;
rdfs:seeAlso <https://w3id.org/fep/1985/ForwardChronological>,
<https://w3id.org/fep/1985/ReverseChronological> ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:minCardinality "0"^^xsd:nonNegativeInteger .
<https://w3id.org/fep/1985> a owl:Ontology ;
dc:creator "a <a@trwnh.com>" ;
dc:rights "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication"@en ;
dcterms:abstract "OrderedCollection is defined as an ordered set in the Activity Vocabulary, but the precise ordering is not defined. The ActivityPub specification requires that instances of OrderedCollection MUST be ordered reverse chronologically by insertion order, but a later errata was proposed to relax this restriction by only applying it to properties defined as OrderedCollection within the ActivityPub specification. Consequently, this allows for some collections to be presented forward chronologically by insertion order, and some collections to be presented reverse chronologically by insertion order. This FEP introduces an orderType property and two vocabulary terms ForwardChronological and ReverseChronological to explicitly signal the ordering of a collection." ;
dcterms:dateSubmitted "2024-10-06"^^xsd:date ;
dcterms:identifier "https://w3id.org/fep/1985"^^xsd:anyURI ;
dcterms:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
dcterms:title "FEP-1985: Signaling how an OrderedCollection is ordered" .
+68
View File
@@ -0,0 +1,68 @@
# orderType
URI
: `https://w3id.org/fep/1985/orderType`
Label
: is ordered in
Comment
: Indicates the type of ordering for an OrderedCollection.
Domain
: [OrderedCollection](https://www.w3.org/ns/activitystreams#OrderedCollection)
Range
: [OrderingClass](https://w3id.org/fep/1985/OrderingClass) (@vocab)
Required
: No
Functional
: Yes
See also
: [ForwardChronological](https://w3id.org/fep/1985/ForwardChronological) | [ReverseChronological](https://w3id.org/fep/1985/ReverseChronological)
Is defined by
: [FEP-1985](https://w3id.org/fep/1985)
## Examples
Example of a forward chronological OrderedCollection with additional context
```None
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/fep/1985"
],
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/1",
"https://domain.example/objects/2",
"https://domain.example/objects/3"
],
"orderType": "ForwardChronological"
}
```
Example of a forward chronological OrderedCollection without additional context
```None
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/1",
"https://domain.example/objects/2",
"https://domain.example/objects/3"
],
"https://w3id.org/fep/1985/orderType": {
"id": "https://w3id.org/fep/1985/ForwardChronological"
}
}
```
+66
View File
@@ -0,0 +1,66 @@
<!DOCTYPE html>
<html>
<head>
<title>orderType</title>
</head>
<body>
<section id="orderType" resource="https://w3id.org/fep/1985/orderType" typeof="rdf:Property">
<h1>orderType</h1>
<dl>
<dt>URI</dt>
<dd><code>https://w3id.org/fep/1985/orderType</code></dd>
<dt>Label</dt>
<dd lang="en" property="rdfs:label">is ordered in</dd>
<dt>Comment</dt>
<dd lang="en" property="rdfs:comment">Indicates the type of ordering for an OrderedCollection.</dd>
<dt>Domain</dt>
<dd><a href="https://www.w3.org/ns/activitystreams#OrderedCollection" property="rdfs:domain" resource="as:OrderedCollection">OrderedCollection</a></dd>
<dt>Range</dt>
<dd><a href="https://w3id.org/fep/1985/OrderingClass" property="rdfs:range" resource="https://w3id.org/fep/1985/OrderingClass">OrderingClass</a> (@vocab)</dd>
<dt>Required</dt>
<dd content="0" datatype="xsd:nonNegativeInteger" property="owl:minCardinality">No</dd>
<dt>Functional</dt>
<dd content="1" datatype="xsd:nonNegativeInteger" property="owl:maxCardinality">Yes</dd>
<dt>See also</dt>
<dd><a href="https://w3id.org/fep/1985/ForwardChronological" property="rdfs:seeAlso">ForwardChronological</a> | <a href="https://w3id.org/fep/1985/ReverseChronological" property="rdfs:seeAlso">ReverseChronological</a></dd>
<dt>Is defined by</dt>
<dd><a href="https://w3id.org/fep/1985" property="rdfs:isDefinedBy">FEP-1985</a></dd>
</dl>
<pre title="Example of a forward chronological OrderedCollection with additional context">
<code>
{
"@context": [
"https://www.w3.org/ns/activitystreams",
"https://w3id.org/fep/1985"
],
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/1",
"https://domain.example/objects/2",
"https://domain.example/objects/3"
],
"orderType": "ForwardChronological"
}
</code>
</pre>
<pre title="Example of a forward chronological OrderedCollection without additional context">
<code>
{
"@context": "https://www.w3.org/ns/activitystreams",
"id": "https://domain.example/some-collection",
"type": "OrderedCollection",
"orderedItems": [
"https://domain.example/objects/1",
"https://domain.example/objects/2",
"https://domain.example/objects/3"
],
"https://w3id.org/fep/1985/orderType": {
"id": "https://w3id.org/fep/1985/ForwardChronological"
}
}
</code>
</pre>
</section>
</body>
</html>
+55
View File
@@ -0,0 +1,55 @@
[
{
"@id": "https://w3id.org/fep/1985/orderType",
"@type": [
"http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"
],
"http://www.w3.org/2000/01/rdf-schema#comment": [
{
"@language": "en",
"@value": "Indicates the type of ordering for an OrderedCollection."
}
],
"http://www.w3.org/2000/01/rdf-schema#domain": [
{
"@id": "https://www.w3.org/ns/activitystreams#OrderedCollection"
}
],
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [
{
"@id": "https://w3id.org/fep/1985"
}
],
"http://www.w3.org/2000/01/rdf-schema#label": [
{
"@language": "en",
"@value": "is ordered in"
}
],
"http://www.w3.org/2000/01/rdf-schema#range": [
{
"@id": "https://w3id.org/fep/1985/OrderingClass"
}
],
"http://www.w3.org/2000/01/rdf-schema#seeAlso": [
{
"@id": "https://w3id.org/fep/1985/ForwardChronological"
},
{
"@id": "https://w3id.org/fep/1985/ReverseChronological"
}
],
"http://www.w3.org/2002/07/owl#maxCardinality": [
{
"@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger",
"@value": "1"
}
],
"http://www.w3.org/2002/07/owl#minCardinality": [
{
"@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger",
"@value": "0"
}
]
}
]
+19
View File
@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
>
<rdf:Description rdf:about="https://w3id.org/fep/1985/orderType">
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
<rdfs:label xml:lang="en">is ordered in</rdfs:label>
<rdfs:comment xml:lang="en">Indicates the type of ordering for an OrderedCollection.</rdfs:comment>
<rdfs:domain rdf:resource="https://www.w3.org/ns/activitystreams#OrderedCollection"/>
<rdfs:range rdf:resource="https://w3id.org/fep/1985/OrderingClass"/>
<owl:minCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">0</owl:minCardinality>
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/ForwardChronological"/>
<rdfs:seeAlso rdf:resource="https://w3id.org/fep/1985/ReverseChronological"/>
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/1985"/>
</rdf:Description>
</rdf:RDF>
+16
View File
@@ -0,0 +1,16 @@
@prefix as: <https://www.w3.org/ns/activitystreams#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
<https://w3id.org/fep/1985/orderType> a rdf:Property ;
rdfs:label "is ordered in"@en ;
rdfs:comment "Indicates the type of ordering for an OrderedCollection."@en ;
rdfs:domain as:OrderedCollection ;
rdfs:isDefinedBy <https://w3id.org/fep/1985> ;
rdfs:range <https://w3id.org/fep/1985/OrderingClass> ;
rdfs:seeAlso <https://w3id.org/fep/1985/ForwardChronological>,
<https://w3id.org/fep/1985/ReverseChronological> ;
owl:maxCardinality "1"^^xsd:nonNegativeInteger ;
owl:minCardinality "0"^^xsd:nonNegativeInteger .