Re: a user liking a post

On 23 August 2015 at 11:32, Amy G <amy@rhiaro.co.uk> wrote:

> There's two styles of relation in linked data, one is   X  likes  Y.  ie
>> with a single predicate.  The other is a more complex object.  L a like ;
>> liker X ; likee Y ; url U .  for example.  The 2nd part is considerably
>> more complex than the first, e.g. for querying, for coding, to create a
>> persistent identifier, for updates etc.  For example I can have a heart
>> button on my UI to add and remove a like, and leave notifications
>> orthogonal.  This is easy to remove and add.  There's time when you want to
>> use a simple relation, and times when you want to use a more complex
>> container.  My first use case is the simple relation, which I think is
>> going to be needed but lots of software.
>>
>> The general rule is that if there are only 2 actors in the object, you
>> can use a simple relation.  "X likes Y".  If there are more you a complex
>> object e.g. "X pays Y 10 dollars"
>>
>
> Right, you just re-described what I described. The 'complex' is the AS2
> Like object / like-of post scenario. So we're on the same page.
>
> I just think the benefits of the 'complex' version far outweigh any
> problems. I can't imagine why you *wouldn't *want a persistent
> identifier, for example, or to be able to keep track of the date it
> happened. I also find it really useful tag my likes, which I wouldn't be
> able to do if I stored only the simple direct relation.
>

Thanks for taking the time to explain.  I do see the benefits you outline.

The benefits of the 'complex' version so sometimes outweigh the simple
version.  But sometimes simplicity is better for adoption.  Another issue
is that for the complex version you need to create a URI, which means the
same semantics will often have different serializations.  This can be an
issue with portability, for example, signing a document.  It also requires
the implementor come up with a strategy for creating a URI for an object.
This is an non trivial task that requires complex canonicalization rules,
UUID generation, or keeping a persistent counter that increases each time.

You can make any relation into a more complex form.  For example X follows
Y.  Do we want to store just that the follows relation exists or do we want
to wrap it in an object.  I think different implementors will have
different views?


>
> Another use for this you might be interested in is provenance or
> verifiability.. If you see my post has '10 likes', how do you find any more
> information about these 'likes'? Simplistically, if you can expand '10
> likes' to list them out, and each has a URI with a creation date etc you
> can verify that they are real. Otherwise it's just a list of assertions
> that <person> <likes> <post> that could have been generated by anything.
>
>
>
>
>
>>
>>
>>>
>>>
>>>>   In practice I think I will go with putting the like as close to the
>>>> liked thing as possible, as it may turn out to be easier to discover.
>>>>
>>>
>>> I'd be inclined to prioritise data ownership for users, and put the like
>>> as close to the author as possible, rather than the liked thing.
>>>
>>
>> Perfectly reasonable also.  Each approach has pros and cons.
>>
>>
>>>
>>> Amy
>>>
>>>
>>>
>>>
>>>>
>>>>
>>>>>
>>>>> Interestingly, I don't think any of the major centralised social
>>>>> networks I've looked at have external URIs for likes, but I think it's a
>>>>> safe bet they have internal ones and store data about the *like *happening.
>>>>> Twitter doesn't even allow you to get a list of users who have favorited a
>>>>> tweet through their API (though on an individual tweet there's a boolean
>>>>> "favorited" property) and a quick search will reveal lots of developers
>>>>> complaining about this inability..
>>>>>
>>>>
>>>> Well that gives us a competitive advantage then, namely, unexpected
>>>> reuse.
>>>>
>>>>
>>>>>
>>>>> Amy
>>>>>
>>>>> On 23 August 2015 at 01:23, Melvin Carvalho <melvincarvalho@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> I've noticed that the concept of a user liking a post is deployed in
>>>>>> a number of systems.
>>>>>>
>>>>>> But it seems there are a number of ways of doing it.
>>>>>>
>>>>>> I just wanted to see if there are pros and cons of different
>>>>>> approaches.
>>>>>>
>>>>>> Right now I do something like:
>>>>>>
>>>>>>   <#me> <http://ontologi.es/like#likes> <content>
>>>>>>
>>>>>> It seems simple, lightweight and meets my needs.
>>>>>>
>>>>>> Are people in general going to use AS2 for this, is there a good
>>>>>> vocab to switch to?
>>>>>>
>>>>>> Thoughts appreciated ...
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Received on Sunday, 23 August 2015 14:07:15 UTC