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

On Mar 25, 2015 3:38 AM, "☮ elf Pavlik ☮" <perpetual-tripper@wwelves.org>
wrote:
>
> 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",
>     }
>   ]
> }
>

-1. This misses the point. We have to be able to model activities in which
the connections themselves are objects. This means we need to model either
the act of connecting or model the connection as a noun.

- James

> 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 13:08:59 UTC