14:03:32 RRSAgent has joined #annotation 14:03:32 logging to http://www.w3.org/2015/07/22-annotation-irc 14:03:34 RRSAgent, make logs public 14:03:34 Zakim has joined #annotation 14:03:36 Zakim, this will be 2666 14:03:36 I do not see a conference matching that name scheduled within the next hour, trackbot 14:03:37 Meeting: Web Annotation Working Group Teleconference 14:03:37 Date: 22 July 2015 14:34:37 fjh has joined #annotation 14:35:17 fjh has changed the topic to: agenda https://lists.w3.org/Archives/Public/public-annotation/2015Jul/0168.html webex 14:35:18 Agenda: https://lists.w3.org/Archives/Public/public-annotation/2015Jul/0168.html 14:35:27 Regrets+ Ivan_Herman 14:35:42 Chair: Frederick_Hirsch, Rob_Sanderson 14:35:45 Present+ Frederick_Hirsch, Rob_Sanderson 14:36:01 Topic: Agenda Review, Scribe Selection, Announcements 14:47:32 azaroth has joined #annotation 14:56:42 fjh has joined #annotation 14:59:06 Jacob has joined #annotation 14:59:06 TimCole has joined #annotation 14:59:27 RayD has joined #annotation 14:59:37 present+ Ray_Denenberg 14:59:46 Matt_Haas has joined #annotation 14:59:48 Present+ Rob_Sanderson 15:00:00 Present+ Matt_Haas 15:01:00 Guest has joined #annotation 15:01:37 Present+ Tim_Cole 15:02:10 Present+ Jacob_Jett 15:02:59 Present+ Chris_Birk 15:03:17 PaoloCIccarese has joined #annotation 15:03:35 present+ shepazu 15:04:09 Scribe: Benjamin_Young 15:04:17 scribenick: bigbluehat 15:04:20 Present+ Benjamin_Young 15:04:42 Topic: Minutes Approval 15:04:49 proposed RESOLUTION: Minutes from 15 July approved, https://lists.w3.org/Archives/Public/public-annotation/2015Jul/att-0156/minutes-2015-07-15.html 15:05:01 Topic: Protocol 15:05:04 takeshi has joined #annotation 15:05:11 updated draft - https://lists.w3.org/Archives/Public/public-annotation/2015Jul/0162.html (Rob) 15:05:11 comments - https://lists.w3.org/Archives/Public/public-annotation/2015Jul/0167.html (Frederick) 15:05:22 proposed RESOLUTION: Publish updated WD of Web Annotation Protocol and share with TAG 15:05:31 http://w3c.github.io/web-annotation/protocol/wd/ 15:05:32 RESOLUTION: Minutes from 15 July approved, https://lists.w3.org/Archives/Public/public-annotation/2015Jul/att-0156/minutes-2015-07-15.html 15:05:52 azaroth: I made a bunch of changes to the protocol draft based on feedback 15:06:01 ...notably I moved publishing out of management 15:06:01 Present+ Paolo_Ciccarese 15:06:07 ...section 4 is now only about retrieving 15:06:34 ...if you look for section 4 in page source, you'll see XML comments for where each requirement comes from 15:06:41 ...all of them except 1 is from LDP 15:06:47 ...the other is a combo of LDP + HTTP 15:06:52 ...the Vary header requirement 15:06:55 q+ to ask about renaming section to "Annotation Retrieval" 15:07:12 ...as far as I know we are not adding any additional requirements 15:07:22 q+ to ask about 5.2.1 15:07:28 ...the deletion section starts off by saying "if you support this, this is how you have to do it." 15:07:35 ack fjh 15:07:35 fjh, you wanted to ask about renaming section to "Annotation Retrieval" 15:07:36 ...POST, PUT, and DELETE are not requiremed 15:07:43 s/requiremed/required 15:07:55 bjdmeest has joined #annotation 15:08:04 fjh: purely editorial...it seems we can move everything up a level and remove the publishing and management sections 15:08:14 ...making the whole thing less deep 15:08:34 Present+ Ben_De_Meester 15:08:39 azaroth: the reason I had the headers, is that section 4 you could use any old web server with JSON documents sitting somewhere 15:08:51 ...section 5, you probably also want to support updating and deleting them 15:09:03 ...the two blocks are reasonably important for guiding implementors 15:09:25 fjh: maybe section 4 should be renamed to annotation retrieval vs. publishing? 15:09:31 azaroth: I was thinking from a server perspective 15:10:00 azaroth: 4.1 is retrieve...so I'm happy to merge 4.1 into 4 until such time as we have a second sub-bullet 15:10:07 q? 15:10:09 fjh: the rational makes sense to me 15:10:12 ack TimCole 15:10:12 TimCole, you wanted to ask about 5.2.1 15:10:34 TimCole: small question...in section 5.2.1 the choice between MAY and SHOULD in the start of the second paragraph 15:10:47 ...I understand why you don't want to have to assign URIs to all the blank nodes in the annotation 15:11:04 ...in order to use the various parts of the annotation, don't you want a URI for the various parts? 15:11:12 q+ to ask about status of my email comments 15:11:15 ...should servers be required to flesh out identifiers of the predicates? 15:11:32 azaroth: personally, I agree. I would like to hear what other people think, however. 15:11:39 ...it seems like quite an implementation requirement 15:12:02 q_ 15:12:08 ...in our Trianon work...that took quite a lot of work to create and reconstruct URIs for all the resources 15:12:50 TimCole: it's all about minting the URIs where they have to deal with targets and that kind of thing 15:13:00 ...in paragraph 5.2.1 15:13:16 ...the server MAY assign URIs for blank nodes within the annotation 15:13:22 ...I'd like to see that changed to SHOULD 15:13:38 davis_salisbury has joined #annotation 15:13:40 Can we just add an additional clause that says, "and SHOULD assign a URI to Specific Resources" (and possibly other typed nodes)? 15:13:40 suggestion from TimCole is to change "the server MAY assign HTTP URIs to resources and blank nodes" to say SHOULD" 15:13:45 ...alternatively it could be left as MAY, but use SHOULD for blank nodes and resources that are the subject or objects within the annotation 15:13:48 q? 15:13:51 ...and MUST assign one to the annotation 15:13:51 ack fjh 15:13:51 fjh, you wanted to ask about status of my email comments 15:13:55 present+ davis_salisbury 15:14:17 fjh: in other words some blank nodes might not need one 15:14:31 TimCole: for instance if they're not necessary for reconstructing the annotation 15:14:51 azaroth: essentially following best practices...use blank nodes unless you can avoid it 15:15:01 s/use/don't use/ 15:15:21 fjh: wouldn't you want a SHOULD for assigning URIs? 15:15:54 azaroth: you have to walk the nodes and assign URIs...to get non-blank nodes 15:15:58 q? 15:16:04 ...a more concrete use case 15:16:08 q+ to ask about status of my email comments 15:16:18 ...if I want to propose an edit, I need a way to target the body 15:16:35 ...if it's a blank node or a literal, then there's no URI to refer to it by 15:16:41 q+ 15:16:58 ...the propose to go from you MAY do it, to you SHOULD do it to handle use cases like this 15:17:04 TimCole: we used specific targets 15:17:09 <_Janina> _Janina has joined #annotation 15:17:20 How does this proposal affect the "textual body" use case? IIRC, having a blank node as the object of oa:hasBody was a central part of the solution for that use case. 15:17:31 azaroth: use cases exist for re-using selectors...it's always this particular region 15:17:32 ack fjh 15:17:32 fjh, you wanted to ask about status of my email comments 15:17:34 additional comments to be incorporated in draft https://lists.w3.org/Archives/Public/public-annotation/2015Jul/0167.html 15:18:18 q? 15:18:20 ack shepazu 15:18:21 azaroth: I agree with all of your comments and will make them before we republish 15:18:34 section 4.1 remove MUST NOT, proposal and rationale in email 15:18:40 rrsagent, generate minutes 15:18:40 I have made the request to generate http://www.w3.org/2015/07/22-annotation-minutes.html fjh 15:19:11 shepazu: if it didn't have an identifier for the body, then I couldn't target it...isn't that what we're trying to fix with selectors? 15:19:11 Present+ Doug_Shepazu 15:19:27 ...that we can point to things that don't have identifiers on the web? 15:19:31 s/q_// 15:19:50 q+ 15:19:52 azaroth: we could come up with some sort of selector (LD Path or some such), but that's not easy 15:20:02 ...this issue was tackled in LDP 15:20:08 ...in the LD Patch specification 15:20:19 ...the requirement there was to change a property within a blank node in a graph 15:20:31 ...the amount of contortions that you have to go through to identify it in order to change it 15:20:37 ...is not trivial 15:20:49 ...iirc sparql update has immense problems dealing with this 15:20:57 ...you have to identify it by property values 15:21:11 ...so if you have multiple bodies...you can't do it by order, because there is no order in a graph 15:21:19 q? 15:21:25 ...so it's much much simpler to give it a URI 15:21:31 q+ to propose publishing updated WD after edits 15:21:35 shepazu: all of this is assuming a semweb infrastructure 15:22:03 ...it seems a lot of people will want to use this stuff without the linked data stack requirement 15:22:09 ...without sparql without these other things 15:22:22 ...does this assume that you have to have all that? 15:22:34 azaroth: no, but what you're proposing would 15:22:54 shepazu: when you start talking about sparql and blank nodes....I thought this was more accessible... 15:23:00 ...for folks that weren't buying in to the whole semweb thing 15:23:15 q? 15:23:17 ack PaoloCIccarese 15:23:21 ...I just need to understand how much of a semweb stack requirement we have here 15:23:32 PaoloCIccarese: if I understand, we're not saying you have to 15:23:49 azaroth: at the moment, we're saying MAY. proposal is to change to SHOULD 15:23:51 SHOULD means you should have a good reason not to 15:23:55 PaoloCIccarese: my question is the following... 15:24:11 ...I'm obviously using RDF and mint URIs for everything 15:24:22 ...typically, they're HTTP ...blah blah blah...where my server is, etc. 15:24:36 ...if I reuse identifiers from another system, I should expect those to be resolvable? 15:26:00 PaoloCIccarese: are expecting the URIs we mint to be resolvable? 15:26:02 I I did 15:26:13 Sorry, I hung up. Wanted to test if it was me. 15:26:34 s/Sorry, I hung up. Wanted to test if it was me.// 15:26:42 PaoloCIccarese: let's assume I want to use the JSON with minting as few URIs as possible 15:26:55 ...now I need to make them resolvable? 15:26:56 s/I I did// 15:26:57 rrsagent, generate minutes 15:26:57 I have made the request to generate http://www.w3.org/2015/07/22-annotation-minutes.html fjh 15:26:59 azaroth: SHOULD 15:27:09 PaoloCIccarese: let's say, I set out to make them resolvable 15:27:38 ...now I have to link into another system that should stay up longer than I stay up 15:28:01 Guest has joined #annotation 15:28:05 ...is that something we want to recommend? minting URIs for all the parts of an annotation? and expecting them to be reused "forever"? 15:28:17 q? 15:28:26 q+ 15:28:35 azaroth: the body of the annotation seems significant, so maybe that should be a SHOULD 15:28:42 ...a style? a selector? a scope? 15:28:48 ...perhaps even a specific resource? 15:28:50 q? 15:28:52 ack fjh 15:28:52 fjh, you wanted to propose publishing updated WD after edits 15:28:54 ...all of those seem more edge case to me 15:29:11 fjh: I have a suggestion. maybe we should get implementer feedback 15:29:36 ...shepazu asked some questions, the over all concern being that it's deployable and adoptable without requiring understanding of semweb tech 15:29:44 ...I'm not sure we can resolve it with discussion 15:30:00 q? 15:30:04 ...maybe we should publish this as a WD with a note near the SHOULD asking for implementer feedback 15:30:17 ...is there a better way to get feedback? 15:30:25 azaroth: getting implementer feedback would be valuable 15:30:36 ...about the actual cost of minting URIs 15:30:51 ack TimCole 15:31:04 fjh: the SHOULD sounds like what we want...unless the cost is too high for implementers 15:31:17 fjh: let's publish another WD and then go from there 15:31:47 fjh: and then get more feedback and the TAG discussion could follow that as well 15:32:08 TimCole: if you think it makes sense, given PaoloCIccarese comments, it may the SHOULD only covers bodies and targets 15:32:18 ...obviously, the servers need to be able to mint URIs 15:32:23 proposed RESOLUTION: Publish updated WD of Web Annotation Protocol incorporating changes proposed by fjh in email and Tim Cole 15:32:25 ...it can be a bit of work 15:32:32 +1 15:32:34 ...but if we narrow it to bodies and targets perhaps its more acceptable 15:32:35 +1 15:32:51 +1 15:33:04 RESOLUTION: Publish updated WD of Web Annotation Protocol incorporating changes proposed by fjh in email and Tim Cole 15:33:13 fjh: I can help azaroth with the publication process if that would help 15:33:18 Topic: Data Model Issues 15:33:25 motivatedBy/multiple Bodies 15:33:31 azaroth: the issue of multiple bodies, where the bodies have different roles 15:33:43 ...quite some discussion on the list without any real consensus 15:33:56 ...on the correct or appropriate result 15:34:24 azaroth: the concern was, for example, in the case where you have multiple bodies 15:34:27 ...one body is a comment 15:34:43 ...another body is an edit--a specific change to make to the document 15:34:50 ...the comment is some explanation for the edit 15:34:59 ...it's important for the client to know which body is which 15:35:10 ...the use of motivation can't do that in its current form 15:35:18 ...there was lots of discussion about how to implement it 15:35:24 ...one proposal: 15:35:33 ...to add relationships between the two 15:35:52 ...or to have information directly about the bodies--"I am a replacement" or "I am a comment" 15:36:13 ...or to have a motivation about a specific resource, so that the body resource can be used in different roles in different annotations 15:36:13 Why not have a separate annotations solution? 15:36:37 q+ 15:36:42 annotations about other annotations 15:36:44 ack PaoloCIccarese 15:36:44 ...or not to have bodies at all, but to have only one body and use separate annotations 15:36:51 +q 15:37:07 PaoloCIccarese: given the use cases,...I go back to firefox bookmarks.... 15:37:22 ...if you have a bookmark that says, this is the URL I am annotation, this is the description, and these are the tags 15:37:27 why motivations cannot be on bodies https://lists.w3.org/Archives/Public/public-annotation/2015Jun/0152.html 15:37:30 shepazu_ has joined #annotation 15:37:38 ...now my original goal of "describe the resource" is not achieved any more 15:37:48 ...the meaning is no longer conveyed 15:37:50 q? 15:37:52 ack TimCole 15:38:10 TimCole: so, I'm seeing this as a granularity issue 15:38:12 q+ 15:38:15 ...sometime I want to talk about the group 15:38:21 ...sometimes I want to talk about them individually 15:38:35 ...having each one as a separate annotation, makes talking about them individually, easy 15:38:45 ...however, I don't have a way in the protocol at least, for fetching them in one unit 15:38:53 this could be a use case for collections of annotations? 15:39:00 ...from the standpoint of the client, the easiest thing would be to send one graph to the server that contains both my edit and my comment 15:39:09 original model proposal https://lists.w3.org/Archives/Public/public-annotation/2015Jun/0112.html 15:39:12 ...what would the server do with it? 15:39:18 q+ 15:39:31 ...if I have resources that have direct containers that can contain annotations 15:39:42 ...do I have a way to have the client retrieve a graph with multiple annotations? 15:39:56 ...and at the same time allow one to retrieve individual annotations? 15:40:06 azaroth: yes....but you'd need to have one container for each of those sets of annotations 15:40:09 TimCole proposal - allow containers to be used for publishing and retrieval sets of annotations (?) 15:40:15 ...it'd be a lot of containers, essentially 15:40:17 trackbot, make minutes 15:40:17 Sorry, shepazu, I don't understand 'trackbot, make minutes'. Please refer to for help. 15:40:24 q? 15:40:25 rrsagent, generate minutes 15:40:25 I have made the request to generate http://www.w3.org/2015/07/22-annotation-minutes.html fjh 15:40:25 ...the client would need to create the container to then push the annotations to 15:40:38 TimCole: what if the graph contains more than one annotation...do we allow that? 15:40:55 ...and if it is allowed...there are LDP examples that match this for assets and liabilities... 15:41:08 ...there's still a resource that you can use to get both the assets and liabilities 15:41:15 ...but you can also ask for those two things individually 15:41:32 ...but I thought the LDP model made it pretty straightforward 15:41:33 ack shepazu 15:41:36 ...but maybe I'm wrong 15:42:02 shepazu: I think that the current characterization didn't capture what I felt was important in the issue 15:42:13 ...how the two annotations relate feels like a detail to me 15:42:31 ...the real issue is how do we have an annotation that has parts with different roles that a client might treat differently 15:42:42 ...the other bits, like does this comment relate to this edit body 15:43:00 ...honestly, i'm not really motivated...that doesn't really concern me 15:43:23 ...that's not the bit I think is the important bit 15:43:40 azaroth: I apologies if I characterized this as about relating the two bodies 15:44:40 Not sure how this will ever be interoperable? Isn't it a really complex implementation to dig into an annotationa and then do something different with every body? 15:44:41 q+ 15:45:02 { @type : Annotation , hasComment: { chars : this is great now } , hasEdit { chars : patch } } 15:45:34 rhiaro_ has joined #annotation 15:45:54 shepazu: to me an annotation is not just this thing that says...it's the frame, it's the target, and the body 15:46:01 azaroth: it really can't be all of those things 15:46:12 ...say you're targeting a web page, and the web page is the annotation? 15:46:26 shepazu: no, I'm saying it's the bit that points to where the target is and that says what the body is 15:46:45 azaroth: yep, and the same body can be pointed to just like the target 15:46:55 is this an optimization? 15:46:56 shepazu: so...this is where we differ...maybe it's something I don't understand 15:47:10 ...to me, the JSON is the bit that talks about the target 15:47:25 ...the URL to the youtube video may be in that body... 15:47:31 ...let's say I have an image... 15:47:46 ...let's say people are making comments on facebook 15:47:54 ...people are making comments with a bunch of replies, etc 15:48:01 ...somebody tosses in a meme 15:48:07 ...and others might reuse that meme 15:48:26 ...it's common to reuse a meme to say it's relevant to the current conversation 15:48:36 ...someone else may do the same...but to me that's a different annotation 15:48:45 azaroth: the meme example is a great usecase 15:49:03 ...the background comes from the semantic web decisions...the linked data...rdf model.... 15:49:10 ...which is, that anyone can make an assertion about any resource 15:49:21 ...and that it's not limited by the scope of the document in which you're making that assertion 15:49:33 ...example: "that annotation body over there is in French" 15:49:37 ...or "that image is a jpeg" 15:49:52 ...it's not only true within the annotation or graph...it's a global assertion 15:50:12 ...if the role of the image in one annotation is a property of that image 15:50:26 ....then it would have to always be true....and therefore is an invalid assertion because it's not global 15:50:43 shepazu: that claim doesn't make sense to me 15:51:00 ...I could point to some image somewhere else 15:51:12 ...or I could upload the file...include the image as the body within the annotation 15:51:33 ...inline or by reference 15:51:47 ...but if I make that assertion 15:51:58 ...i'm not making that assertion about anything else but what i'm asserting 15:52:08 ...it doesn't mean that someone else can't say something different about it 15:52:24 ...maybe i'm suggestion someone else change their meme to use this one--making an edit 15:52:32 ...I don't understand what this global assertion is 15:52:40 azaroth: it's the rdf model...the global open world model 15:52:47 shepazu: that doesn't answer the question for me 15:52:56 fjh: it's not part of the annotation model, right? 15:53:11 q+ 15:53:11 azaroth: by using rdf, we inherit all of those requirements 15:53:23 ...if we said it wasn't an rdf-based model, we wouldn't have these requirements 15:53:27 q? 15:53:30 ack RayD 15:53:52 RayD: one of the approaches got missed 15:54:00 ...instead of multiple bodies submitted as annotations 15:54:06 ...they are actually annotations of a base annotation 15:54:15 ...it seems to me that would address the problem 15:54:26 azaroth: yep. we discussed multiple annotations individually 15:54:29 it looks like we need to clarify the relationship of the high level user-view of annotation architecture with the implications of the underlying linked data model 15:54:30 q? 15:54:32 ack PaoloCIccarese 15:54:33 ..but we did miss the nested hierarchy option 15:54:45 PaoloCIccarese: this is not addressing what shepazu was saying...but something i'd though before 15:55:10 ...adding new levels is going to be just confusing 15:55:15 ...sometimes we'll have it...sometimes we won't 15:55:25 ...ideally, adding relationships that are better qualified 15:55:39 q? 15:55:42 ...having someway to tag the bodies seems like the simplest to implement 15:55:52 ...frankly having hierarchies....is going to be hard to implement 15:55:55 q+ to disagree with arbitrary subprops of hasBody 15:56:07 ...detecting when things are or are not hierarchies and then dealing with the variations... 15:56:20 ...all of these are possible, but i hope we can avoid implementation pain 15:56:27 shepazu: what's the hierarchy option 15:56:45 PaoloCIccarese: basically, you have one annotation, and it references several other annotations that clarify the parent 15:56:53 ...firefox bookmark example 15:57:05 ...one annotation that is the bookmark, another for the tags, the other for the description 15:57:11 q? 15:57:14 q- (time) 15:57:17 ...the tag and description annotations annotate the bookmark annotation 15:57:17 q- 15:57:28 ...if I'm an implementor, then I have to understand the chain of annotations 15:57:36 ...and that it's trying to say more complicated things 15:57:50 q+ 15:57:58 ...we'll have to distinguish them, and the code will have to distinguish them, etc. 15:58:07 ...I like the idea of the relationships, etc. 15:58:09 zakim, close queue 15:58:09 ok, fjh, the speaker queue is closed 15:58:15 ...but now we have a proliferation of relationships 15:58:17 q? 15:58:21 ...and we'll need to understand those as well 15:58:26 ack fjh 15:58:28 does hasComment allow multiple comment bodies? 15:58:29 ...it could be a rabbit hole...but it still feels simpler 15:58:39 q? 15:58:53 fjh: main thing is are we having a call next week? 15:58:56 Q- 15:58:59 ...azaroth and I can't chair 15:59:07 ...should we wait to announce on the list? 15:59:21 regrets for next week from Frederick and Rob 15:59:22 shepazu: straw poll: should we do a call next week? 15:59:38 -1 skip without the chairs in the house 15:59:42 -1, especially since we'll likely need to continue this discussion 16:00:12 -1 16:00:24 -1 16:00:43 RESOLUTION no call next week. 16:01:02 azaroth: thanks everyone for the call. 16:01:08 ...i'll make the changes to the WD 16:01:13 fjh: thank you bigbluehat for scribing 16:01:27 rrsagent, generate minutes 16:01:27 I have made the request to generate http://www.w3.org/2015/07/22-annotation-minutes.html fjh 16:03:48 Topic: Adjourn 16:04:24 s/RESOLUTION/RESOLUTION:/ 16:04:44 s/thank you/we should also publish the WD; thank you/ 16:04:47 rrsagent,generate minutes 16:04:47 I have made the request to generate http://www.w3.org/2015/07/22-annotation-minutes.html fjh 16:08:14 tantek has joined #annotation 16:43:11 fjh has joined #annotation 18:33:41 tilgovi has joined #annotation 18:52:45 azaroth has joined #annotation 18:56:56 shepazu has joined #annotation 19:24:38 Zakim has left #annotation