- From: ☮ elf Pavlik ☮ <perpetual-tripper@wwelves.org>
- Date: Wed, 25 Mar 2015 11:38:48 +0100
- To: James M Snell <jasnell@gmail.com>, "public-socialweb@w3.org" <public-socialweb@w3.org>
- Message-ID: <55129038.6000609@wwelves.org>
Hi James, On 03/24/2015 07:37 PM, James M Snell 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. I would also see it modeled not as an artifact (Thing/Object) but as Statement (triple) entity + attribute + value (or subject predicate object). I see Entity Attribute Value ~= Subject Predicate Object. { "@type": "Person", "@id": "https://wwelves.org/perpetual-tripper", "name": "elf Pavlik", "friend": [ { "@type": "Person", "@id": "http://www.chmod777self.com/", "name": "James M Snell", }, { "@type": "Person", "@id": "http://rhiaro.co.uk/", "name": "Amy Guy", } ] } How to group your friendships, followings in collections + 'follow your nose'? * https://www.w3.org/community/hydra/wiki/Collection_Design * https://lists.w3.org/Archives/Public/public-socialweb/2015Mar/0130.html If you really want artifact, we could also start with evaluating applicability of *Reification* http://www.w3.org/TR/rdf-schema/#ch_reificationvocab > > 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. What about *as:result*? http://www.w3.org/TR/activitystreams-vocabulary/#dfn-result > > 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. I would prefer that we take a closer look at this issue before trying to draw conclusions. I have impression that you may use rdfs:Class and rdf:Property in unusual way. And I don't mean to say wrong but we may just need more time to understand it better... Cheers!
Received on Wednesday, 25 March 2015 10:39:08 UTC