hypothesis / vision

Envisioning the future of the Hypothesis.
https://github.com/hypothesis/vision/issues/
40 stars 8 forks source link

Annotating entities within a page #119

Open tilgovi opened 10 years ago

tilgovi commented 10 years ago

Moved from hypothesis/h#766

BigBlueHat commented 9 years ago

Open Annotation Data Model supports the concept of "scopes": http://www.w3.org/TR/2014/WD-annotation-model-20141211/#scope-of-a-resource

If we implemented this method of storing annotations (for single-page apps, etc), the target would have both a source (the specific RDFa resource being annotated) and a scope (the URL the RDFa was served within--think embedded image annotation...but with text! :wink:

jeremydean commented 9 years ago

like

BigBlueHat commented 9 years ago

Ran into this again today, so going to think into this text box (rather than just keep it my head / notes).

I went here (hi, @judell ! :wink: ) with hypothes.is on: http://blog.jonudell.net/ I saw some annotations on the "Annotating the web: my new job" post.

I clicked on that post (with hypothes.is on): http://blog.jonudell.net/2015/03/22/annotating-the-web-my-new-job/ ...and got an entirely different set of annotations.

WordPress (in use here) does provide post ID's--in their own "custom" way of course...--and those post ID's can be used to get to the URL of the post as ?p={post-id}--hey look! something else "custom"!!

However, there is a way to express this in RDFa! (yeah standards!!1!).

The markup for the post (on both pages, actually) starts as:

<article id="post-4038" class="post-4038 post type-post status-publish format-standard hentry category-uncategorized">

Changing it to:

<article id="post-4038" class="post-4038 post type-post status-publish format-standard hentry category-uncategorized"
  typeof="sioc:Post"
  about="{permanent-url-of-post}">

The only bit we'd actually need (afaik) is the about attribute value. It would say that the fragment of text on the home page post index (or search results or sidebar headlines of posts, etc) have canonical representations at a different URL.

We'd then store that (along with the URL the Annotator was viewing) and use it in search results for finding annotations later.

Finding annotations for search result pages would then look like:

What this means practically is that I'd see all 4 annotations of that post on that post wherever I found it (+/- the ability to re-anchor them on the representation I was viewing).

Hopefully all of that clarifies the issue, minimizes the target, and more or less explains the madness. :tophat:

BigBlueHat commented 9 years ago

Oh, fwiw, Drupal does this https://groups.drupal.org/node/22231#A_blog_post or will...or something...

judell commented 9 years ago

Thanks Benjamin. That would be nice. For now, I'm just struggling with ways to understand and explain how equivalences among whole documents are or are not formed.