W3C home > Mailing lists > Public > public-openannotation@w3.org > December 2019

Re: AW: Expressing relations between targets?

From: Bridget Almas <balmas@gmail.com>
Date: Wed, 11 Dec 2019 08:20:37 -0500
To: public-openannotation@w3.org
Message-ID: <9cb7f820-3cfb-088c-68da-44afb00a1eab@gmail.com>
I agree about the targets not being embedded in the body. It was a 
compromise.

It would be wonderful to see the spec extended to support this use case!


On 12/11/19 8:05 AM, Robert Casties wrote:
> Hi Bridget,
>
> On 10.12.19 14:54, Bridget Almas wrote:
>> Hi Rainer,
>>
>>
>> Yes, I think that's right.
>>
>>
>> I too wonder what people think about the body structure :-)
> I thought that it's not as bad as I had feared when I heard about a
> graph in the body :-)
>
> My fear was that there would be Turtle or RDF-XML in the body and I
> would have to add yet another parser or two in my client. With JSON-LD I
> only need an additional LD-Processor or to specialize my code for the
> specific pattern.
>
> I would still prefer to have the second target not be in the body to be
> more explicit but multiple targets are still a bit underspecified in
> WebAnno as Benjamin mentioned. Maybe we can extend this area of the spec
> now that there are some real usecases.
>
> Best
> 	Robert
>
>> On 12/10/19 2:28 AM, Simon Rainer wrote:
>>> Hi Bridget,
>>>
>>>
>>> interesting. It's certainly a bit of a different approach to my
>>> original thoughts, but could be pretty applicable... (And actually it
>>> might be closer to what we are doing now internally right now,
>>> although in a proprietary way). To summarize how I understand this
>>> (and how I'd apply it to my case) - please correct me if I'm wrong:
>>> you are essentially creating an annotation that's attached to "one end
>>> of the arrow", as it were. And then there's a single body in
>>> there, that essentially models the "arrow" (link relation + target).
>>>
>>>
>>> In terms of mechanics, I think that would totally work for us, too. I
>>> wonder what people's views are on the body structure, though. I.e. the
>>> body being a graph that works like a target :-) In any case: IMO a
>>> good pattern.
>>>
>>>
>>> Cheers & thanks,
>>>
>>> Rainer
>>>
>>>
>>>
>>>
>>> ------------------------------------------------------------------------
>>> *Von:* Bridget Almas <balmas@gmail.com>
>>> *Gesendet:* Montag, 9. Dezember 2019 22:45
>>> *An:* Benjamin Young; public-openannotation@w3.org
>>> *Betreff:* Re: Expressing relations between targets?
>>>
>>> Hi Benjamin,
>>>
>>>
>>> Sure. The use case is not exactly the same as Rainer's but I think it
>>> has some similarities.  Note that this was done with the OA data model
>>> before it became the W3C model, so it's a little out of date that way
>>> as well.
>>>
>>>
>>> But anyway, the following is an annotation which reflects a user
>>> annotating a bibliographic entry in a bibliographic dictionary. The
>>> target of the annotation is the selection of the name Rhea in the
>>> entry for the person entity named Cronus. The body of the annotation
>>> is a graph which describes the bond between the resource identified by
>>> the text "Rhea" with a Person entity with the uri for the Cronus
>>> person entity (http://data.perseus.org/people/smith:cronus-1#this").
>>>
>>>
>>> To be more complete, under this model there would ideally be
>>>
>>> (1) an annotation which associated the text entry itself with the
>>> person entity identifier for Cronus
>>>
>>> (2) an annotation which annotates the "Rhea" text with a uri for the
>>> person entity for Rhea,
>>>
>>> (3) an annotation whose target is text selector for "He was married to
>>> Rhea" and whose body is the graph of the relationship between the Rhea
>>> entity and the Cronus entity
>>>
>>>
>>> But we never got that far :-)
>>>
>>>
>>> Best,
>>>
>>> Bridget
>>>
>>>
>>>
>>> {
>>>    "@context": "http://www.w3.org/ns/oa-context-20130208.json",
>>>    "@id": "urn:cite:perseus:pdljann.18IJy7d0QG2ztppbX3CCeg.1.1",
>>>    "annotatedBy": {
>>>      "@type": "foaf:Group",
>>>      "@id": "http://data.perseus.org/sosol/users/Andrew",
>>>      "foaf:member": [
>>>        {
>>>          "foaf:name": "Jane Doe",
>>>          "@type": "foaf:person"
>>>        }
>>>      ]
>>>    },
>>>    "@type": "oa:Annotation",
>>>    "dcterms:source":
>>> "https://hypothes.is/api/annotations/18IJy7d0QG2ztppbX3CCeg",
>>>    "dcterms:title": "http://data.perseus.org/people/smith:cronus-1#this
>>> identifies Rhea as object of snap:IntimateRelationship relationship in
>>> urn:cts:pdlrefwk:viaf88890045.003.perseus-eng1:C.cronus_1",
>>>    "annotatedAt": "2015-10-07T15:30:27.211185+00:00",
>>>    "motivatedBy": "oa:identifying",
>>>    "serializedBy": {
>>>      "@id": "https://hypothes.is",
>>>      "@type": "prov:SoftwareAgent"
>>>    },
>>>    "hasTarget": {
>>>      "@id":
>>> "urn:cite:perseus:pdljann.18IJy7d0QG2ztppbX3CCeg.1.1#target-1",
>>>      "@type": "oa:SpecificResource",
>>>      "hasSelector": {
>>>        "@id":
>>> "urn:cite:perseus:pdljann.18IJy7d0QG2ztppbX3CCeg.1.1#target-1-sel-1",
>>>        "@type": "oa:TextQuoteSelector",
>>>        "exact": "Rhea",
>>>        "prefix": "g the Titans. He was married to ",
>>>        "suffix": ",\n                  by whom he b"
>>>      },
>>>      "hasSource": {
>>>        "@id": "urn:cts:pdlrefwk:viaf88890045.003.perseus-eng1:C.cronus_1"
>>>      }
>>>    },
>>>    "hasBody": {
>>>      "@context": {
>>>        "snap": "http://onto.snapdrgn.net/snap#",
>>>      },
>>>      "@graph": [
>>>        {
>>>          "@id":
>>> "urn:cite:perseus:pdljann.18IJy7d0QG2ztppbX3CCeg.1.1#rel-target",
>>>          "@type": "http://www.w3.org/ns/oa#SpecificResource",
>>> "http://www.w3.org/ns/oa#hasSelector": {
>>>            "@id":
>>> "urn:cite:perseus:pdljann.18IJy7d0QG2ztppbX3CCeg.1.1#target-1-sel-1",
>>>            "@type": "http://www.w3.org/ns/oa#TextQuoteSelector",
>>> "http://www.w3.org/ns/oa#exact": "Rhea",
>>> "http://www.w3.org/ns/oa#prefix": "g the Titans. He was married to ",
>>> "http://www.w3.org/ns/oa#suffix": ",\n                  by whom he b"
>>>          },
>>>          "hasSource": {
>>>            "@id":
>>> "urn:cts:pdlrefwk:viaf88890045.003.perseus-eng1:C.cronus_1"
>>>          }
>>>        },
>>>        {
>>>          "@id": "http://data.perseus.org/people/smith:cronus-1#this",
>>> "snap:has-bond": [
>>> "urn:cite:perseus:pdljann.18IJy7d0QG2ztppbX3CCeg.1.1#bond-1-1"
>>>          ]
>>>        },
>>>        {
>>>          "@id":
>>> "urn:cite:perseus:pdljann.18IJy7d0QG2ztppbX3CCeg.1.1#bond-1-1",
>>>          "@type": "snap:IntimateRelationship",
>>> "snap:bond-with": {
>>>            "@id":
>>> "urn:cite:perseus:pdljann.18IJy7d0QG2ztppbX3CCeg.1.1#rel-target"
>>>          }
>>>        }
>>>      ]
>>>    }
>>> }
>>>
>>> On 12/9/19 3:54 PM, Benjamin Young wrote:
>>>> Hey Bridget,
>>>>
>>>> I'd love to see an example of how y'all structured that
>>>> annotation...legal or not. ;)
>>>>
>>>> Thanks!
>>>> Benjamin
>>>>
>>>> -- 
>>>>
>>>> http://bigbluehat.com/
>>>>
>>>> http://linkedin.com/in/benjaminyoung
>>>>
>>>> ------------------------------------------------------------------------
>>>> *From:* Bridget Almas <balmas@gmail.com>
>>>> *Sent:* Monday, December 9, 2019 1:09 PM
>>>> *To:* public-openannotation@w3.org <public-openannotation@w3.org>
>>>> *Subject:* Re: Expressing relations between targets?
>>>>
>>>> To add to this -- in Perseids (first with Hypothes.is and then with
>>>> Plokamos) we did something similar, setting the annotation body to a
>>>> graph that encoded the relationship using the SNAP ontology.  It
>>>> wasn't perfect, particularly because we embedded the graph directly
>>>> in the annotation body rather than referencing it via URI, which
>>>> wasn't really legal, but it did allow us to express the nature of the
>>>> relationship.  Happy to provide more details if you're interested.
>>>>
>>>>
>>>> Bridget
>>>>
>>>>
>>>> On 12/9/19 12:14 PM, Benjamin Young wrote:
>>>>> Thanks for writing, Simon!
>>>>>
>>>>> At this point, I'd suggest being careful not to reinvent RDF inside
>>>>> Web Annotation. Something like "A is the father of B" or similar is
>>>>> already better expressed via much simpler RDF (assuming you have
>>>>> identifiers for the things. Mixing that into the annotation model
>>>>> starts to create all kinds of painful indirection. 😕
>>>>>
>>>>> That said, I'm noting a lack of "directionality" when targeting
>>>>> resources in Web Annotation. I'm not (yet) certain it's Web
>>>>> Annotation's job to record that, just noting that it currently isn't
>>>>> possible. Appendix D has the things that get close:
>>>>> https://www.w3.org/TR/annotation-model/#sets-of-bodies-and-targets
>>>>> But even so, I don't think there's a way to turn "Orestes killed
>>>>> Aegisthus" into an annotation per se.
>>>>>
>>>>> It might be best to narrow in on the "textual editing part" and
>>>>> explore potential needs in that context. Otherwise, RDF proper would
>>>>> likely do a much cleaner job of expressing the things you note below.
>>>>>
>>>>> Happy to discuss further!
>>>>> Benjamin
>>>>>
>>>>> -- 
>>>>>
>>>>> http://bigbluehat.com/
>>>>>
>>>>> http://linkedin.com/in/benjaminyoung
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>> *From:* Simon Rainer <Rainer.Simon@ait.ac.at>
>>>>> <mailto:Rainer.Simon@ait.ac.at>
>>>>> *Sent:* Monday, December 9, 2019 8:28 AM
>>>>> *To:* James Smith <jgsmith@gmail.com> <mailto:jgsmith@gmail.com>
>>>>> *Cc:* public-openannotation@w3.org
>>>>> <mailto:public-openannotation@w3.org> <public-openannotation@w3.org>
>>>>> <mailto:public-openannotation@w3.org>
>>>>> *Subject:* AW: Expressing relations between targets?
>>>>>
>>>>> Hi James,
>>>>>
>>>>>
>>>>> I agree - we'd ideally want to identify the people via URIs. And
>>>>> then the assertion "is father of" would be a statement between those
>>>>> two entities.
>>>>>
>>>>>
>>>>> However, within the annotation environment, the scenario is that
>>>>> this would be like a note, made a human editor, on the text. So I'm
>>>>> inclined to say that, we are indeed talking about a statement about
>>>>> two strings of text - at least at this point in the workflow.
>>>>>
>>>>>
>>>>> I guess the example is also not ideal here. The annotations might
>>>>> just as well be highlighting two different text paragraphs, and the
>>>>> annotator would drag an arrow between them saying "the author is
>>>>> repeating him/herself here", or whatever. I.e. irrespective of what
>>>>> ever "real world meaning" might be behind the arrow eventually, I'm
>>>>> primarily interested in using WebAnno/Open Annotation to model the
>>>>> textual editing part.
>>>>>
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Rainer
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> ------------------------------------------------------------------------
>>>>>
>>>>> *Von:* James Smith <jgsmith@gmail.com> <mailto:jgsmith@gmail.com>
>>>>> *Gesendet:* Montag, 9. Dezember 2019 14:18
>>>>> *An:* Simon Rainer
>>>>> *Cc:* public-openannotation@w3.org
>>>>> <mailto:public-openannotation@w3.org>
>>>>> *Betreff:* Re: Expressing relations between targets?
>>>>> How do we know who the text "Aegisthus" refers to? It's a name, so
>>>>> it's identifying something, but who/what is the identity we
>>>>> associate with the string "Aegisthus"?
>>>>>
>>>>> While we might all agree on whom we link the text to in our minds,
>>>>> it might be helpful to add some context for the computer. I'd add
>>>>> another property on the body that points to a dbpedia entry or other
>>>>> unique URI that is useful in asserting the identity of the person
>>>>> referenced in the text as "Aegisthus". Let's say it's
>>>>> <dbpedia:Aegisthus>. The same could be done for "Orestes" with a
>>>>> link (for the purposes of discussion) of <dbpedia:Orestes>.
>>>>>
>>>>> Once this is done, then it's a matter of asserting the
>>>>> <dbpedia:Aegisthus> is related to <dbpedia:Orestes>. It's not about
>>>>> the string "Aegisthus" having a familial relationship with the
>>>>> string "Orestes", or that one annotation has a familial relationship
>>>>> with another annotation, but about the person <dbpedia:Aegisthus>
>>>>> having such a relationship with the person <dbpedia:Orestes>. They
>>>>> just happen to be referenced as "Aegisthus" and "Orestes" in this
>>>>> particular text.
>>>>>
>>>>> If we did make the relationship about the strings in the text, then
>>>>> that relationship wouldn't be true for any other instances of the
>>>>> strings "Aegisthus" and "Orestes" in this or any other text. It
>>>>> would be about the two instances already highlighted.
>>>>>
>>>>> -- Jim
>>>>>
>>>>> On Mon, Dec 9, 2019 at 8:03 AM Simon Rainer <Rainer.Simon@ait.ac.at
>>>>> <mailto:Rainer.Simon@ait.ac.at>> wrote:
>>>>>
>>>>>      Dear list,
>>>>>
>>>>>
>>>>>      I have a question regarding the possible use of the WebAnno
>>>>>      model for expressing a relationship between two targets.
>>>>>
>>>>>
>>>>>      My scenario is the following:
>>>>>
>>>>>
>>>>>      *) I have two text annotations that identify people. Each
>>>>>      annotation has a single target (the person name in
>>>>>      a TextQuoteSelector, and character offset in a
>>>>>      TextPositionSelector); and a single body (with purpose
>>>>>      "identifying").
>>>>>
>>>>>      *) I now want to create a third annotation that expresses a
>>>>>      relation between person A and B. (E.g. "A is the father of B" or
>>>>>      similar.)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>      My approach would be to model this third annotation like the
>>>>>      sample below. I.e. with:
>>>>>
>>>>>
>>>>>      *) two targets, each holding the ID of one person annotation
>>>>>
>>>>>      *) a body with the relation tag ("is the father of")
>>>>>
>>>>>      *) a motivation of "linking"
>>>>>
>>>>>
>>>>>      According to the definition for "linking", that's not correct
>>>>>      though. "Linking" is supposed to express a link between body and
>>>>>      all targets, rather than a link between the targets. In
>>>>>      addition, there's also no way to express directionality.
>>>>>
>>>>>
>>>>>      Does anyone have recommendations on how to tackle such a use
>>>>>      case with WebAnno? I realize that (some of) this may actually be
>>>>>      out of scope for the spec as such. In this case, I'd appreciate
>>>>>      any thoughts, opinions, and possible recommendations on a custom
>>>>>      extension pattern, if needed.
>>>>>
>>>>>
>>>>>      Cheers & thanks in advance,
>>>>>
>>>>>      Rainer
>>>>>
>>>>>
>>>>>      ---
>>>>>
>>>>>
>>>>>      {
>>>>>        "@context": "http://www.w3.org/ns/anno.jsonld",
>>>>>      "id": "#9ba844a7-e8ec-4127-ad12-1f7f16a240c6",
>>>>>      "type": "Annotation",
>>>>>      "motivation": "linking",
>>>>>      "body": [{
>>>>>        "type": "TextualBody",
>>>>>        "value": "isRelatedTo"
>>>>>        }],
>>>>>        "target": [{
>>>>>          "id": "#ce0ed291-766b-4763-8e91-90ce1d04e706"
>>>>>        }, {
>>>>>          "id": "#447d4bea-08dc-4bd0-ae51-31f5ed7a95a0"
>>>>>        }]
>>>>>      }
>>>>>
>>>>>
>>>>>
>>>>>
>
Received on Wednesday, 11 December 2019 13:20:43 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 16:38:32 UTC