ISSUE-37: LDP & AS2.0 paging alignment

paging alignment

LDP & AS2.0 paging alignment

Activity Streams 2.0
Raised by:
Henry Story
Opened on:
Both AS2.0 [1] and the "LDP Paging spec [2] state that they implement the model of RFC5005 .
Syntactically LDP Paging puts the information in the http Link headers, whereas AS2.0 puts it in the body. But the reference to RFC5005 indicates that they both wish these to have the same semantics. It would certainly help if they did.

Here are some indicators that they are diverging:

1. Ontology differences

the next, previous, first, and last relations in
+ LDP paging relate a LDPR to another LDPR, where LDPRs are just resources which have RDF representations.
+ in AS2.0 they relate an as:Collection to another resource that is an Object or a Link, which is pretty much anything, though the text specifies "the next page of items"

2. behavioural difference

The LDP paging model allows a client to follow the paging links in the HTTP header and then just merge all the RDF graphs retrieved which when merged ( The union of all the graphs is made ) results in a graph that is the same as the non paged resource.

This does not seem to be possible with the AS2.0 paging. A client following the links to different page
and after merging all the pages into one graph, would even after removal of the paging links ( next, previous, etc ) end up with a differently organised graph. The items would be grouped together in different and arbitrary ways. Indeed the AS2.0 spec needs to specify what to do with paged collections

When multiple, separate Collection instances share the same identity (represented in the JSON-LD serialization using the @id property) and each specifies distinct, non-overlapping subsets of member items (using the items property), the membership of the logical collection is the intersection of each of the subsets. However, when there is overlap in the items contained by multiple Collection instances (e.g. when Object or Link intances with the same identity appear in more than one Collection), member instances with the most recently updated timestamps -- as determined by examining first the updated and then published properties -- must be considered to be the most current representations....

This is not the same as just merging the information using a graph union function, but is specific to this particular AS2.0 vocabulary. It would help if the semantics here was not AS2.0 specific, so that paging could be used widely and without special code needing to be written for each application domain.

Related Actions Items:
No related actions
Related emails:
  1. Re: social-ISSUE-46 (separation-of-concerns): AS2.0 tries to address some Social API responsibilities [Activity Streams 2.0] (from on 2015-10-25)
  2. Re: social-ISSUE-46 (separation-of-concerns): AS2.0 tries to address some Social API responsibilities [Activity Streams 2.0] (from on 2015-10-23)
  3. social-ISSUE-46 (separation-of-concerns): AS2.0 tries to address some Social API responsibilities [Activity Streams 2.0] (from on 2015-10-23)
  4. Open Issues in the Tracker (from on 2015-08-12)
  5. social-ISSUE-37 (paging alignment): LDP & AS2.0 paging alignment [Activity Streams 2.0] (from on 2015-04-24)

Related notes:

No additional notes.

Display change log ATOM feed

Chair, Staff Contact
Tracker: documentation, (configuration for this group), originally developed by Dean Jackson, is developed and maintained by the Systems Team <>.
$Id: 37.html,v 1.1 2018/02/22 10:33:30 carine Exp $