W3C home > Mailing lists > Public > public-socialweb@w3.org > March 2015

Re: Vocabulary Modeling: Connect as Verb or Connection as Object?

From: James M Snell <jasnell@gmail.com>
Date: Tue, 24 Mar 2015 11:59:50 -0700
Message-ID: <CABP7RbdJwKmC3XnC4e6Gds_vfJwvx4XuH3pLfb1ocZbpbzsNdQ@mail.gmail.com>
To: "public-socialweb@w3.org" <public-socialweb@w3.org>
The alternative, btw, is to simply remove Connect and FriendRequest
from the core vocabulary and rely on an external vocabulary definition
to cover these more completely.

On Tue, Mar 24, 2015 at 11:37 AM, James M Snell <jasnell@gmail.com> wrote:
> Right now, the Vocabulary models "Connect" and "FriendRequest" as
> Activity types. E.g.
>
> to say "John requested a connection with Sally" or "John sent Sally a
> friend request", we'd use something like:
>
>   {
>     "@type": "Connect",
>     "actor": "http//john.example.org",
>     "object": "http://sally.example.org"
>   }
>
> However, in many systems, Connections between people are modeled as
> distinct artifacts and organized into collections... that is, the
> relationships themselves are modeled as Objects with a distinct
> lifecycle.
>
> So... rather than modeling "Connect" and "FriendRequest" as
> Activities, do we model "Connection" or "Relationship" as an object.
> For instance:
>
> {
>   "@type": "Create",
>   "actor": "http://john.example.org",
>   "object": {
>     "@type": "Connection",
>     "subject": [
>       "http://john.example.org",
>       "http://sally@example.org"
>     ]
>   }
> }
>
> {
>   "@type": "Request",
>   "actor": "http://john.example.org",
>   "object": {
>     "@type": "Connection",
>     "subject": [
>       "http://john.example.org",
>       "http://sally@example.org"
>     ]
>   }
> }
>
> etc
>
> The difference in the modeling is subtle but important. By modeling
> the Connection/Relationship as a noun, we essentially change how we
> reason about it. The Activities become "Request", "Create", "Update",
> "Delete", etc. This seems to be a much more natural approach given the
> various example existing social platforms out there.
>
> The specific changes to our Vocabulary would be:
>
> Remove: "Connect" and "FriendRequest" as Activities
>
> Add: "Connection" and "Friendship" as Object Types, with "Friendship"
> modeled as a subclass of Connection. Implementations would be free to
> define their own additional types of Connections if they so desire.
Received on Tuesday, 24 March 2015 19:00:37 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 8 December 2016 15:48:21 UTC