- From: James M Snell <jasnell@gmail.com>
- Date: Tue, 24 Mar 2015 11:37:23 -0700
- To: "public-socialweb@w3.org" <public-socialweb@w3.org>
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 18:38:13 UTC