Skip to content
This repository has been archived by the owner on Oct 6, 2022. It is now read-only.

Shift to WA data model for snippets #116

Open
SusanBrown opened this issue Jul 30, 2017 · 6 comments
Open

Shift to WA data model for snippets #116

SusanBrown opened this issue Jul 30, 2017 · 6 comments

Comments

@SusanBrown
Copy link
Contributor

This is a summary of our shift in dealing with snippets, as a basis for discussion.

Our previous way of modelling the relationship of snippets to triples, through quads, was rather idiosyncratic, so we are trying to shift to applying the widely supported Web Annotation (previously the Open Annotation) data model (https://www.w3.org/TR/annotation-model/) so that what we are doing is more understandable and so that CWRC-Writer can handle OA annotations more generally in ways that work well, including annotations of documents produced by CWRC-Writer.

As far as how HuViz functions, in many ways it was more intuitive to click on the edge associated with an annotation. This remodelling takes us away from that but hopefully we will be able to address it once we're clear on how the new model works (separate github issue forthcoming).

So the way we are applying the WA data model to Orlando data is as follows (data sample and image of it in HuViz below):

  • The annotation uses the provenance ontology to indicate that it is derived from one or more snippets. In other words there will sometimes be two snippets per annotation.
  • The subject of the entry, i.e. the writer (here Anna Leonowens), is the target of the annotation (this is different from how it will work with the annotation of a text, in which case the text will be the target)
  • The body of the annotation is the object of the triple (here Presbyterian or Hinduism--each annotation can have multiple bodies) that has been derived from the snippet and that is attached to the subject of the entry through a precise predicate relationship (here hasReligion).

Here is now this looks in HuViz
image

Here is the relevant data (irrelevant bits omitted) from our current test file https://github.com/cwrc/ontology/blob/master/KimTest.ttl:

<http://www.cwrc.ca/cwrcdata/AnnaLeonowens> cwrc:hasReligion cwrc:presbyterianism, cwrc:hinduism ; a foaf:Person ; foaf:name "Anna Leonowens" .

<http://www.cwrc.ca/cwrcdata/annaleanowens2> rdfs:label """AL often visited the Reclining Buddha at the temple Wat Po in Bangkok. Her Thai teacher gave her frequent instruction on Buddha's teachings. Later in Siamese Harem Life, Anna recalled that she had learned that the prophet's object was not only a religious but a social revolution. A good deal of what was venerated as religion he found to be merely social usage, for which a Divine sanction was feigned. [Buddha], without hesitation, rejected all of this . . . . His greatest blow to the old religion, however, was in his explicit repudiation of caste. He offered his religion to all men alike . . . . Buddha boldly expounded to the people that, according to their own books, all men were equal.""" ; a nif:Context, nif:Sentence ; prov:createdBy cwrc:originalOrlandoAuthor .

@cmiya
Copy link
Collaborator

cmiya commented Aug 17, 2017

Thank you for posting this explanation, Susan! There are a few things I'd like additional clarification on.

I understand the reasons behind shifting to the WA model, but I'm a bit uncertain about how introducing context nodes will affect the functionality of HuViz. I wonder whether the addition of annotations might clog up the graph and make it difficult to easily comprehend relationships between other types of nodes.

A few questions...

  1. In general, what is the value of having annotations represented as nodes in the graph? What kind of actions would the user want to perform on a context node? For instance, I'm having trouble envisioning a scenario in which the user would want to "activate" context nodes. It seems like dragging a context node into the graph would not lead to any new discovers since the target is clearly stated in the label (e.g. the "Class Context for Amy Levy" node is linked to Amy Levy). One might discover Upper Middle Class, but then why not just activate the hasSocialClass node?

  2. Annotations appear to be a distinct type of node that differs from others like person, place, etc. But they are visually identical. Shouldn't the user be able to easily distinguish annotations from other types of nodes?

  3. Is the predicate label for the annotations always the same (i.e. always either hasBody or hasTarget)? If so, the fact that clicking on the same label will produce a different effect (i.e. different strings), might be non-intuitive for users.

  4. Once we adopt the WA model, what will happen when you click on a predicate for a non-annotation triple (e.g. clicking on hasClass in SofiaKing-hasClass-professional)? Right now, instead of a Snippet, it seems like a window containing a link to the author's general page will open up. Will this window be the same for all non-annotation triples (i.e. point to the subject's general page)? If so, the fact that clicking on different labels will produce the same effect, is again somewhat non-intuitive.

I couldn't make it to the last meeting, so I apologize if these issues have already been covered! This is a very interesting approach, and I look forward to getting up-to-date.

@SusanBrown
Copy link
Contributor Author

  1. the value of having annotations represented as nodes in the graph: I don't think there is value. It's just that they are nodes if we are adhering to the WA data model.

  2. Annotations appear to be a distinct type of node: agreed that they should not appear the same as other types of nodes

  3. Is the predicate label for the annotations always the same: yes it is. Predicates repeat in other contexts, so that doesn't seem a problem in itself to me. But I wonder if the fact that we have these unique predicates for WA would allow us to create a different effect than other edges create.

  4. what will happen when you click on a predicate for a non-annotation triple? what happens when clicking edges is indeed is the question. I think that right now only the DerivedFrom edge produces a popup box when you click on it.

Possibility A: the data relationships allow us to make any edge that has a prov:derivedFrom relationship associated with it show that relationship when the edge is clicked

Possibility B: the node with which a prov:derived from tag is associated (e.g. the Cultural Formation context node) provides its provenance info.

@cmiya cmiya added the Question label Sep 8, 2017
@antimony27
Copy link
Collaborator

Does the implementation of the OA ontology in the drop down list address these issues @SusanBrown ? If not, could you please clarify what is left to be done?

@SusanBrown SusanBrown changed the title Shift to OA data model for snippets Shift to WA data model for snippets Jan 23, 2019
@SusanBrown SusanBrown self-assigned this Feb 5, 2019
@smurp smurp self-assigned this May 21, 2019
@smurp
Copy link
Collaborator

smurp commented Jun 28, 2019

Consider

http://alpha.huviz.dev.nooron.com/#load+/data/MariaEdgeworth.trig+with+/data/owl_mini.ttl

I changed MariaEdgeworthAnnotationTarget to MariaEdgeworthAnnotation0001 in keeping with:

https://www.w3.org/TR/annotation-vocab/#hastarget

before

image

after

image

feedback

I believe this is more accurate. I'm not done evaluating the other triples.

@SusanBrown @antimony27

@SusanBrown
Copy link
Contributor Author

OK. I do imagine we will need to number the annotations :) if that is the point

@smurp
Copy link
Collaborator

smurp commented Jul 6, 2019

@SusanBrown @antimony27 This commit
smurp/huviz@434edc6
adds a "CWRC WRITER" section to the DATASET menu for all the examples from CWRC-Writer JSON-LD Annotations document https://docs.google.com/document/d/1-99rBvXaiCH67TWmjZ0LXgYFNrpKa4p22cT_zFXx9XI/edit#

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants