Collection/Container design - AS, Hydra, LDP, SIOC, ...

Howdy,

In Owen's draft of ActivityPump we can find some use cases for
collections/containers:
http://oshepherd.github.io/activitypump/ActivityPump.html#collections

While ago I started page for comparing existing designs:
https://www.w3.org/wiki/Socialwg/Collection_Comparison

So far it only has examples in Hydra, I'll try to add AS and LDP
versions ASAP. Collection of people I follow, using hydra:Collection
would look something like:

{
  "@context": [
    "http://www.w3.org/ns/hydra/context.jsonld",
    { "schema": "http://schema.org/" }
  ]
  "@id": "/perpetual-tripper",
  "collection": {
    "@id": "/pepetual-tripper/follows",
    "@type": "Collection",
    "manages": {
      "property": "schema:follows",
      "subject": "/perpetual-tripper"
    }
    "member: [
       "http://owenshepherd.net",
       "https://e14n.com/evan",
       ...
    ]
  }
}

For followers one can simply use manages block with object instead of
subject

  "manages": {
      "property": "schema:follows",
      "object": "/perpetual-tripper"
    }


Which provides clear way to reuse existing predicates while giving
collection separate URI and additionally enabling paging.

It looks like some ActivityStreams/Pump features will require putting
constraint on members of collection. It currently uses "objectTypes"
documented in under 'collection' in
*
https://github.com/activitystreams/activity-schema/blob/master/activity-schema.md#object-types

ActivityPump draft uses it in:
http://oshepherd.github.io/activitypump/ActivityPump.html#streams

       {
          "id": "https://example.com/~alice/my-stream",
          "objectType": "collection",
          "objectTypes": ["activity"]
          "items": [ ... ]
        }

Could we collect on our wiki page other requirements for
Collections/Containters which we currently stay aware of?

Cheers!

Received on Saturday, 8 November 2014 23:51:20 UTC