16:00:52 RRSAgent has joined #json-ld 16:00:52 logging to https://www.w3.org/2019/07/26-json-ld-irc 16:00:57 Zakim has joined #json-ld 16:01:00 azaroth has joined #json-ld 16:01:01 rrsagent, set log public 16:01:05 Meeting: JSON-LD Working Group Telco 16:01:11 Date: 2019-07-26 16:01:11 scribe: simonstey 16:01:14 present+ 16:01:14 present+ 16:01:19 Chair: azaroth, bigbluehat 16:01:31 presentü 16:01:34 Agenda: https://lists.w3.org/Archives/Public/public-json-ld-wg/2019Jul/0008.html 16:01:34 present+ 16:01:46 bigbluehat has changed the topic to: Agenda 2019-07-26: https://lists.w3.org/Archives/Public/public-json-ld-wg/2019Jul/0008.html 16:02:08 present+ 16:02:41 present+ 16:02:47 present+ 16:03:28 topic: approval of last week's minutes 16:03:29 TOPIC: Approve minutes of last call 16:03:39 PROPOSAL: Approve minutes of last call: https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2019/2019-07-19-json-ld 16:03:42 +1 16:03:45 +1 16:03:47 +1 16:03:49 +1 16:04:07 +1 16:04:09 RESOLVED: Approve minutes of last call: https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2019/2019-07-19-json-ld 16:04:16 TOPIC: Announcements / Reminders 16:04:27 jeff_mixter has joined #json-ld 16:04:29 azaroth: this is your standing reminder for TPAC 16:04:33 present+ 16:04:42 https://www.w3.org/2019/09/TPAC/ 16:04:54 TOPIC: Horizontal Reviews 16:04:56 azaroth: continuing with horizontal review 16:05:06 ref: https://github.com/w3c/json-ld-wg/issues/88 16:05:16 ... as anticipated, the privacy folks don't really know what to do with us 16:05:27 q+ 16:05:39 ... remark says it's not really a web api.. so you tell us 16:06:06 ack bigbluehat 16:06:09 q+ 16:06:32 bigbluehat: I'm wondering there's any text we can add.. that we are not assuming Web === browser 16:07:14 ... we don't assume it inherits everything the browser dictates; we don't assume everything is HTTP(s) 16:07:22 ... the web is much larger than that 16:07:37 ... JSON-LD is already used in WoT 16:07:52 ... which will face the same challenges eventually 16:07:56 q? 16:08:08 ack gkellogg 16:08:19 https://w3c.github.io/json-ld-api/#the-jsonldprocessor-interface 16:08:30 gkellogg: one issue we have is that webidle is heavily biased towards browsers 16:08:51 s/webidle/webidl/ 16:09:15 q+ 16:09:18 ack bigbluehat 16:09:19 q+ 16:09:29 gkellogg: when I looked at that, I wasn't able to come up with anything better 16:09:49 bigbluehat: most specs are encouraged to use webidl 16:10:11 ... if we just make it clear that we use webidl because that's what everyone is supposed to be using 16:10:41 ack dlongley 16:10:51 azaroth: is there an example anyone can think of, where the api is defined via webidl but is obviously not supposed to be ran in the browser? 16:10:56 https://heycam.github.io/webidl/#Exposed 16:11:53 q+ 16:11:59 ack bigbluehat 16:11:59 gkellogg: I added "exposed" because it wouldn't pass the pub check otherwise 16:12:10 bigbluehat: do we know if this exposed requirement is a new one? 16:12:19 gkellogg: respec started complaining a week or so ago 16:12:47 ... they were tightening the screws everywhere recently, hence checking became more thorough 16:13:32 gkellogg: yeah respec is complaining now.. but it's possible it's also a TAG issue? 16:13:47 bigbluehat: do you have the PR/commit for it? 16:14:14 azaroth: the webidl def. doesn't say "exposed" is mandatory 16:14:17 https://github.com/heycam/webidl/issues/365, https://github.com/heycam/webidl/pull/423 <-- makes Exposed mandatory 16:15:22 azaroth: continuing with response to privacy 16:15:32 ... requests must not have any user describing state 16:15:34 q+ 16:15:42 ack dlongley 16:15:51 dlongley: that will cause problems 16:16:01 azaroth: e.g. when you need auth.? 16:16:10 dlongley: yeah.. including cookies and what not 16:17:24 azaroth: is there anything else we can say? other than saying the same thing with different words? 16:17:54 q? 16:17:55 azaroth: I'll have a go at responding after the call.. 16:17:58 TOPIC: Issues 16:18:06 SUBTOPIC: Indexing with `@includes` 16:18:13 https://github.com/w3c/json-ld-syntax/issues/19 16:18:34 azaroth: this is one I brought up in the community group 16:19:14 ... gkellogg has implemented it 16:19:32 https://github.com/w3c/json-ld-syntax/issues/19#issuecomment-513976987 16:19:52 q? 16:19:56 azaroth: gkellogg had a bunch of questions which I tried to answer.. any thoughts/comments? 16:20:12 gkellogg: regarding what I've implemented in the api doc 16:20:35 ... I've satisfied most/all requirements 16:20:54 ... node references work just as well (not for values though..) 16:21:19 ... if you add nesting though, this allows for it 16:21:53 ... any keyword that's included in an object would lead to colliding keywords.. so I added necessary wording for that 16:22:44 ... I was pretty happy with the way it turned out (we might want to bikeshed the term @included though) 16:22:44 q+ 16:22:54 ack dlongley 16:23:11 dlongley: there's a very large thread with lots of stuff in there.. 16:23:24 ... is there an example of what the compact form would look like? 16:23:32 ... any pointers to this? 16:23:43 https://github.com/w3c/json-ld-syntax/pull/207 16:23:50 https://pr-preview.s3.amazonaws.com/w3c/json-ld-syntax/pull/207.html#shared-value-indexing 16:24:01 https://pr-preview.s3.amazonaws.com/w3c/json-ld-syntax/pull/207.html#shared-value-indexing 16:24:15 ... (example 103) 16:24:34 ... ex 105 shows the effects of adding nesting 16:25:03 dlongley: if you need more things that need to be added, you may run into issues 16:25:13 timCole has joined #json-ld 16:25:16 ... with different aliases 16:25:27 gkellogg: the idea is to have a single included block 16:26:02 dlongley: so one has to hope that not more than one section is required 16:26:34 gkellogg: well kinda like it's done with types 16:26:40 ... and folding 16:27:07 ... it could be done.. 16:27:40 dlongley: I've the feeling we are missing one more layer to make this complete and sound 16:28:15 gkellogg: I don't really understand the uc. for needing more than one included block 16:29:14 dlongley: [explained uc] 16:29:51 ... my only concern is that the second someone would come along needing > 1 included block 16:30:07 ... we would have to through this away and come up with something different 16:31:02 gkellogg: refining the place where we out this in the API doc. might result in it not having to be thrown away though 16:31:19 ... btw. it wouldn't survive round-tripping though 16:32:05 ... [elaborating on some hacks to make it potentially round-trippable] 16:32:13 azaroth_ has joined #json-ld 16:32:37 ... maybe using framing? haven't investigated this solution thoroughly though 16:32:56 q? 16:33:18 ... possible but challenging.. without enough reason for doing it, it's probably not worth the time 16:33:25 q+ to ask about `@included`'s similarity to `@graph` (and graph containers) 16:33:35 ack bigbluehat 16:33:35 bigbluehat, you wanted to ask about `@included`'s similarity to `@graph` (and graph containers) 16:33:37 dlongley: just wanted to make sure there's no other trivial uc it stands in the WAY 16:33:46 s/WAY/way/ 16:33:57 bigbluehat: graph containers feel kinda similar 16:34:15 ... wondering whether the same sort of plumbing would work for this? 16:34:33 gkellogg: @graph has the same req. though 16:34:46 ... included maps are purely syntactic 16:34:58 ... whereas @graph is a semantic entity 16:35:41 q+ 16:35:54 azaroth: the uc was "Assuming a nested set of resources where leaf nodes are frequently repeated, it is difficult to find the definition of the node after compaction. Imagine a classification that is used on the second item in a list, and again on the 26th. It would be nice to have a place to look up the label for the classification, instead of repeating it on both 2 and 26. Similarly, information about repeated people, services, .." 16:36:02 ... or anything else could benefit from this pattern." 16:36:02 ack dlongley 16:36:32 dlongley: yeah.. that sounds to me like the reason we have framing for 16:37:02 azaroth: we would still be able to expand it though 16:37:20 s/still/still need to/ 16:37:24 q+ 16:37:39 ack gkellogg 16:37:56 gkellogg: framing isn't entirely for "pretty" compaction 16:38:36 q+ 16:38:44 ... [discussing ways of folding values in using framing] 16:38:56 ... it isn't something one would expect though 16:39:33 ack dlongley 16:39:43 ... but that's something that would require a lot of changes to framing.. and I don't know whether we want to go down that road 16:40:24 dlongley: maybe it's as simple as having a targeted @embed 16:40:37 ... it would be in there as a keyword 16:41:30 q? 16:42:21 azaroth: maybe we can resort to good old code rather than having to rely on framing or compaction for this 16:42:37 dlongley: somewhat of a "meh" feeling... 16:44:56 gkellogg: [explains what would happen if including happens as part of framing] 16:45:12 ... the included block would go in the frame 16:45:15 q+ to ask about JSON API specifically 16:45:38 azaroth: the intent is, when an API engineer gets an instance of the data 16:45:55 ack bigbluehat 16:45:55 bigbluehat, you wanted to ask about JSON API specifically 16:46:00 https://jsonapi.org/ 16:46:07 ... I mean this would be the eq. of always embedding which we can today already 16:46:22 s/can/can do/ 16:46:39 bigbluehat: it sounds in their case more like named graph inclusion 16:46:40 seems like we need an `@default @graph` container 16:46:52 "included": {"@container": "@graph", "@graph": "@default"} 16:47:28 and then you can frame documents with "@embed": "some_top_level_key_to_embed_this_under" 16:47:39 bigbluehat: if we include something like this, we have to clarify it's not the stuff jsonapi is talking about 16:47:41 q+ 16:47:45 ack dlongley 16:48:02 dlongley: I agree with what bigbluehat was saying 16:48:22 ... I'm wondering whether we need a default as I posted in irc 16:49:08 example 103 https://pr-preview.s3.amazonaws.com/w3c/json-ld-syntax/pull/207.html#included-values-to-be-expanded 16:49:10 ... so what the syntax would need is something like that (where it's saying it's not a named graph) 16:49:56 gkellogg: in 103, it's value is a node object 16:50:11 ... before expansion it was a node IRI 16:51:02 ... it would be an ID graph/map 16:51:11 ... what it doesn't do is the nesting bit 16:51:28 ... where the value isn't folded back in base2 16:51:59 s/base2/base too/ 16:52:30 q+ to ask if we could just use `"@type": "@included"` and not the special `@included`container thing (and use an `@graph @index` combo for example 103 or just `@graph` for jsonapi style stuff) 16:52:51 q? 16:52:53 ack bigbluehat 16:52:53 bigbluehat, you wanted to ask if we could just use `"@type": "@included"` and not the special `@included`container thing (and use an `@graph @index` combo for example 103 or just 16:52:56 ... `@graph` for jsonapi style stuff) 16:53:24 bigbluehat: `"@type": "@included"` would make a lot of sense 16:53:54 q+ 16:54:00 azaroth: it would need to have some way of asserting that whatever the default graph is is not a new graph 16:54:18 ... that's just syntactic sugar 16:54:35 ack dlongley 16:54:39 ... very similar to an ID map 16:54:55 dlongley: I would very much prefer us to reuse existing stuff 16:55:16 ... instead of having a new feature for each uc 16:55:49 azaroth: nested id map? 16:56:18 gkellogg: if we somehow would have a toplvl id map 16:56:34 ... then we would have a place for that 16:56:40 q+ 16:56:45 ack dlongley 16:57:25 dlongley: a toplvl idmap could accomplish that.. maybe 16:57:48 gkellogg: then we should put this on hold for now and figure out how we could do a toplvl id map 16:58:57 ... instead of @id leading to a named graph, maybe allowing @id @default 17:00:56 gkellogg: if you could look at the other issue that's in the agenda dlongley 17:00:57 TOPIC: Adjourn 17:02:30 rrsagent, draft minutes 17:02:30 I have made the request to generate https://www.w3.org/2019/07/26-json-ld-minutes.html azaroth 17:02:44 rrsagent, make log pubilc 17:02:46 rrsagent, make log public 17:35:19 azaroth has joined #json-ld 17:44:50 azaroth has joined #json-ld 18:34:41 gkellogg has joined #json-ld 23:54:31 gkellogg has joined #json-ld