Re: [model] Modeling a Tweet: Tags

In other words, the hashtags are "just text" and part of the tweet, until
they are enriched by an annotation that gives them meaning as a tag (body
of a new annotation) referring to the tweet (as the target of said
annotation), optionally with an additional target to make the processing
explicit (this selection of the tweet text is the text representing this
link to a semantic tag, which tags this tweet).

The hashtag annotation, as a separate entity, makes explicit that the
hashtag should be rendered as a link when shown in a client. Otherwise it
is just text in the tweet that happens to be prefixed with a #.

Twitter, et al, receive tweets from clients in plain text. They then reify
the implied annotations that linkify the appropriate bits of that text.

On Thu, Jun 18, 2015, 10:27 Randall Leeds <randall@bleeds.info> wrote:

> I have long believed there is a substantive difference between what
> systems commonly call tags and hashtags, and believe that this is
> demonstrated in common practice.
>
> A tag is often applied to a separate entity.
>
> A hashtag is applied to its bearing entity.
>
> The example provided, to my mind, should have the tweet text as the target
> for some annotation.
>
> One can get fancier with this and say that each hashtag should be rendered
> as a separate annotation on the test with positional selectors describing
> the offsets of the hashtag texts in the tweet text, with the motivation to
> link these to the full URI expansion of that hashtag (such as the URL of
> that hashtag's collection/search page).
>
> For an example of this in the wild, see the app.net API where mentions,
> links, hashtags, etc are described by a property of the status update
> called "annotations".
>
> A hashtag annotates the tweet.
>
> On Thu, Jun 18, 2015, 09:28 Doug Schepers <schepers@w3.org> wrote:
>
>> Hi, Dinesh–
>>
>> Thanks for tweaking this.
>>
>> The issue I was trying to resolve was not the distributed part, which
>> you picked up on, but rather the conflict introduced by the data model
>> having a strict separation between tagging and comment bodies.
>>
>> If anyone has any thoughts on that, please let us know. I'm not
>> completely satisfied with my solution, but I can't think how else to do
>> it.
>>
>> Regards–
>> –Doug
>>
>> On 6/18/15 7:09 AM, TB Dinesh wrote:
>> > Thanks Doug for this example.
>> >
>> > The way we have been thinking about this (in the swtr.us framework) is
>> > that annotations will lead to 3rd party services that understand that
>> > this (@id and t1 below) annotation maps to a tweet model and can
>> > assist in tweeting it for you, provided the service is permitted to
>> > look through your annotation repo.
>> >
>> > I will first try to re purpose your JSON-LD example so it reads a bit
>> different.
>> > First the annotation is in a repo some where (rewriting the @id to just
>> > drive home that this object (t1) is identified by another creator --
>> > and not twitter).
>> > Also am using body1, body2 and body3 are local ids (with effective ids
>> > being t1.body1, t1.body2, t1.body3) and dont know what the right
>> > syntax is to do this.
>> > Note that I changed the motivation to tweeting (from commenting) so as
>> > to make it
>> > easy for the 3rd party service to pick this up for tweeting.
>> >
>> > t1:
>> >
>> > {
>> >    "@id": "https://annotation.repo/azaroth42/607727122975739905",
>> >    "@type": "oa:Annotation",
>> >    "annotatedBy": "https://twitter.com/azaroth42/",
>> >    "annotatedAt": "2015-06-07T12:00:00Z",
>> >    "serializedAt": "2013-02-04T17:53:00Z-8",
>> >    "body": [
>> >      {
>> >        "@id": "body1"
>> >        "motivation": "oa:tweeting",
>> >        "value" : "Been a while. Indexing my phd thesis transcription as
>> > #openannotations towards #iiif search demo implementation",
>> >      },
>> >      {
>> >        "@id": "body2"
>> >        "motivation": "oa:tagging",
>> >        "value" : "openannotations",
>> >      },
>> >      {
>> >        "@id": "body3"
>> >        "motivation": "oa:tagging",
>> >        "value" : "iiif",
>> >      }
>> >    ],
>> > }
>> >
>> > Now #openannotations and tag "openannotations" will get different
>> > services to pick up the intent. Twitter would know what to do with
>> > #openannotations and t1's tags are not very useful for twitter, which
>> > another service can indeed help azaroth42 connect to other meanings of
>> > 42 if any using these tags.
>> >
>> > -d
>> >
>> >
>> > On Thu, Jun 18, 2015 at 12:55 PM, Doug Schepers <schepers@w3.org>
>> wrote:
>> >> Hi, folks–
>> >>
>> >> We've talked before about how different kinds of popular social media,
>> like
>> >> Twitter tweets or Facebook posts, could be modeled as annotations.
>> >>
>> >> Tim Cole put together a diagram of this [1], and I made a slide
>> inspired by
>> >> Tim's diagram [2] (use the down arrow to step through the slide).
>> >>
>> >> But all the recent talk of multiple bodies and motivations made me
>> realize
>> >> that there may be something hard to represent in the data model: inline
>> >> hashtags in a tweet.
>> >>
>> >> As an example, here's the text from a tweet by Rob Sanderson, from 7
>> June
>> >> [3], which contains two inline hashtags:
>> >> "Been a while. Indexing my phd thesis transcription as #openannotations
>> >> towards #iiif search demo implementation"
>> >>
>> >> Inline hashtags are pretty common, and they blend tags and comment
>> into a
>> >> single common body. You can't remove the tags from the comment body,
>> because
>> >> they're part of the sentence structure; you can't only represent the
>> tags as
>> >> part of the comment body, because they have special status as search
>> terms
>> >> [4].
>> >>
>> >> How can we model this?
>> >>
>> >> The best I could come up with is to duplicate the hashtags in both the
>> >> comment body and in their own bodies. Here's some example JSON-LD
>> (please
>> >> excuse the imprecise/incorrect inclusion of motivation on each body,
>> it's
>> >> just illustrative.):
>> >>
>> >> {
>> >>    "@id": "https://twitter.com/azaroth42/status/607727122975739905",
>> >>    "@type": "oa:Annotation",
>> >>    "annotatedBy": "https://twitter.com/azaroth42/",
>> >>    "annotatedAt": "2015-06-07T12:00:00Z",
>> >>    "serializedAt": "2013-02-04T17:53:00Z-8",
>> >>    "body": [
>> >>      {
>> >>        "@id": "http://example.org/body1"
>> >>        "motivation": "oa:commenting",
>> >>        "value" : "Been a while. Indexing my phd thesis transcription as
>> >> #openannotations towards #iiif search demo implementation",
>> >>      },
>> >>      {
>> >>        "@id": "http://example.org/body2"
>> >>        "motivation": "oa:tagging",
>> >>        "value" : "openannotations",
>> >>      },
>> >>      {
>> >>        "@id": "http://example.org/body3"
>> >>        "motivation": "oa:tagging",
>> >>        "value" : "iiif",
>> >>      }
>> >>    ],
>> >> }
>> >>
>> >>
>> >> Another solution might be to allow nested bodies, but that seems like
>> it
>> >> could get complicated.
>> >>
>> >> Thoughts?
>> >>
>> >>
>> >> [1]
>> >>
>> http://www.w3.org/Talks/2015/schepers-annotation-journalism/data-model-anatomy.png
>> >> [2]
>> >>
>> http://www.w3.org/Talks/2015/schepers-annotation-journalism/data-model-anatomy.svg#showall
>> >> [3] https://twitter.com/azaroth42/status/607727122975739905
>> >> [4] https://twitter.com/hashtag/iiif
>> >>
>> >> Regards–
>> >> –Doug
>> >>
>>
>>

Received on Thursday, 18 June 2015 17:35:31 UTC