w3c / w3c/activitystreams

Which are the members of a Collection?

Open
#680 14 comments 0 reactions 1 assignee View on GitHub

@evanp is already working on this.

Since Mar 30, 2026.

Needs Group Input/Decision Next version
Dominant language
HTML
Stars
313
Forks
70
PR merge metrics
No merged PRs in 30d

Description

Given a collection c and an object o, we need a decision criterion to discern whether o is a member of c or not.

I proposed the following assumption

The members of a collection c are all those objects o such that c items o holds.

but, in my understanding, this definition is not enough to cope with ordered collections. As a first step, I restrict to unpaged collections.

In what follows I report what I have found about ordered collections in the specifications

In section 4.6 Collection of Activity Streams 2

The items within a Collection can be ordered or unordered. The OrderedCollection type MAY be used to identify a Collection whose items are always ordered. In the JSON serialization, the unordered items of a Collection are represented using the items property while ordered items are represented using the orderedItems property.

In the Activity Vocabulary

OrderedCollection

A subtype of Collection in which members of the logical collection are assumed to always be strictly ordered.

Inherits all properties from Collection.

items

Identifies the items contained in a collection. The items might be ordered or unordered.

Range: Object | Link | Ordered List of [Object | Link ]

Notice that the Range of the items property contains ordered lists of objects or links. As pointed out in the Steve Bates comment, in force of the (normative) Activity Streams Context, the JSON-LD serialization for as:orderedItems is a @list. Thus, we can assume, in the Activity Streams realm, Ordered List of [Object | Link ] have to interpreted as rdf:List with Object and Link instances as members.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.