16:34:51 RRSAgent has joined #json-ld 16:34:51 logging to https://www.w3.org/2019/02/22-json-ld-irc 16:34:52 rrsagent, set log public 16:34:52 Meeting: JSON-LD Working Group Telco 16:34:52 Chair: azaroth 16:34:52 Date: 2019-02-22 16:34:52 Agenda: https://lists.w3.org/Archives/Public/public-json-ld-wg/2019Feb/0023.html 16:34:52 ivan has changed the topic to: Meeting Agenda 2019-02-22: https://lists.w3.org/Archives/Public/public-json-ld-wg/2019Feb/0023.html 16:44:15 azaroth has joined #json-ld 16:53:03 simonstey has joined #json-ld 16:55:43 present+ 16:56:04 pchampin has joined #json-ld 16:57:13 present+ 16:57:31 scribe: simonstey 16:57:57 present+ Rob_Sanderson 16:58:33 present+ 16:58:58 present+ 16:59:05 present+ 17:00:29 chair: bigbluehat, azaroth 17:00:30 Topic: Approve minutes of previous call 17:00:33 https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2019/2019-02-15-json-ld 17:00:59 present+ azaroth, pchampin 17:01:35 +1 17:01:39 +1 17:01:42 +1 17:01:43 +1 17:01:43 +1 17:01:43 +1 17:01:43 bigbluehat: any objections? if not +1 17:01:45 +1 17:01:52 Topic: Announcements / Reminders 17:01:57 bigbluehat: approved! 17:02:03 regrets+ Jeff_Mixter 17:02:07 Resolved: minutes of last week accepted 17:02:29 Subtopic: Heading to Candidate Recommendation (CR) - Calling all Implementers 17:02:39 bigbluehat: we are heading towards CR 17:02:52 ... consequently we are looking for as many implementers as we can 17:03:04 ... end of march? 17:03:24 timCole has joined #json-ld 17:03:28 ivan: I think we started with the start of march but pushed it back to the end 17:03:46 gkellogg: I think we wanted to wait for the next draft to come out before moving to CR 17:04:10 present+ timCole 17:04:23 bigbluehat: azaroth and I wanted to do a blog post on that too 17:04:32 zakim, who is here? 17:04:32 Present: ivan, simonstey, Rob_Sanderson, gkellogg, bigbluehat, dlongley, azaroth, pchampin, timCole 17:04:34 https://w3c.github.io/json-ld-api/tests/ 17:04:34 On IRC I see timCole, pchampin, simonstey, azaroth, RRSAgent, Zakim, gkellogg, dlongley, ivan, dlehn, cwebber2, ChristopherA, bigbluehat 17:04:45 gkellogg: link to test description 17:05:02 bigbluehat: I guess the API is the one to implement right? 17:05:04 https://w3c.github.io/json-ld-framing/tests/ 17:05:12 gkellogg: there's also one for framing 17:05:28 bigbluehat: we need 2+ implementations for each feature 17:05:52 azaroth: quick question -> for the distinction between api and syntax 17:06:02 q+ 17:06:12 ... what if you would implement a total diff. api but still use the correct syntax 17:06:48 ... do we allow for that? or do we only accept if you implement the syntax complying to our api spec? 17:07:11 q+ to ask about compacted => expanded => compacted as a possible syntax test 17:07:13 q+ to say we're doing something similar with the VC spec 17:07:29 ack ivan 17:07:54 present+ 17:08:06 ivan: the way I would present it -> the test suite we have is to some extent a test suite for the syntax too 17:08:22 ... so I wouldn't necessarily tie it to the api only 17:08:56 ... I would expect that the test suite has examples for each feature of the syntax 17:09:00 q- 17:09:18 gkellogg: we certainly have to check our test suites 17:09:45 ... other RDF serialization tests usually don't distinguish between processing and syntax tests 17:09:53 ... exception might be NTriples 17:10:21 ... we also have some negative syntax tests if I recall correctly 17:10:39 ivan: just saying that we have to be careful on how to present this 17:11:18 ... we do have to know whether we have deployment plans for the new features 17:11:40 +q 17:12:16 ... we have introduced quite a few features, have to provide proof to some extent that those are really needed and planned to be implemented 17:12:33 workergnome has joined #json-ld 17:12:36 +1 to Ivan and Gregg 17:12:48 ack bigbluehat 17:12:48 bigbluehat, you wanted to ask about compacted => expanded => compacted as a possible syntax test 17:13:16 gkellogg: maybe we should go through the issue tracker and document planned implementations of the various features 17:14:17 bigbluehat: if you roundtrip through compacting, you might be able to proof compliance with respective algorithm 17:14:29 ack simonstey 17:14:30 can all compaction/expansion text be run backward? :-) 17:14:55 scribenick: azaroth 17:15:19 simonstey: I was wondering, we said that we like there's proof that features will be implemented, and realized this is related to the syntax document. 17:15:57 ... this is why we have tests and implementation requirements, to provide the proof. But we don't have tests for syntax, so is this why we need to do this? 17:16:18 ivan: An implementation looks at the JSON-LD in general and implements those things, is disjoint from whether it will be used 17:16:35 simonstey: Oh, okay. I thought you were fine showing 2 implementations, so not at risk 17:16:53 ivan: Yes, but here we have to show the extensions are needed, as it's from existing spec 17:16:57 gkellogg: e.g. nested 17:17:08 q? 17:17:09 ivan: And it might not be needed, I try to understand how the director might reach 17:17:21 gkellogg: We have multiple implementations of nested properties, but why do we have them at all? 17:17:30 ... it comes from uses in the wild, which would be good to document 17:17:35 scribenick: simonstey 17:17:46 Subtopic: Upcoming call with TAG members on March 1st 17:18:10 bigbluehat: next week we'll have 2-3 members joining from TAG 17:18:27 +1 to documenting the purpose for each feature (and put it in the introduction for each feature in the spec) 17:18:49 ... esp. for discussing the relation between json-ld <-> HTML 17:19:00 ... how DOM is affected etc. 17:19:21 Topic: Issues 17:19:48 azaroth: we got through the vast majority of the issues 17:20:18 ... we should also go through the @base issue in prep. for next week 17:20:18 https://github.com/w3c/json-ld-framing/issues/37 17:20:32 Subtopic: Keywords for options 17:20:47 ... ivan asks why there isn't a keyword for all the different options 17:21:36 ivan: i realized by reading through the document that certain options appeared as keywords 17:21:42 q+ 17:21:43 ... others don't 17:21:51 https://w3c.github.io/json-ld-framing/#framing-keywords 17:22:01 gkellogg: I think there are if you look at the syntax tokens 17:22:37 ivan: not sure I remember reading this 17:22:54 gkellogg: we very well may have examples that don't use all the keywords 17:23:14 > Initialize flags embed, explicit, and requireAll from object embed flag, explicit inclusion flag, and require all flag in state overriding from any property values for @embed, @explicit, and @requireAll in frame. 17:23:21 q- 17:23:27 ivan: yeah the examples in the syntax document were way more extensive 17:23:57 was just going to say our implementation has those flags in there (and there may be tests as well... at least i hope so) :) 17:24:01 gkellogg: my thought initially was that framing would eventually be incorporated in the API document 17:24:24 ... but we decided to leave it in a sep. do 17:24:30 s/do/doc 17:24:50 ... so there's a backlog of things that have to happen to the document 17:25:26 Does 4.1 include @omit-graph? 17:25:52 ivan: clearly, if we add more examples to the document then this should fix it 17:26:04 PROPOSAL: Close Framing #37, as already fixed 17:26:11 gkellogg: there is an open issue I'm working against 17:26:11 +1 17:26:16 q? 17:26:43 +1 17:26:47 gkellogg: no it's in 4.4.3.3 17:27:05 q+ 17:27:07 ack bigbluehat 17:27:25 bigbluehat: is it a keyword? or an option for the api? 17:28:07 gkellogg: well we have keywords for all the options 17:28:27 PROPOSAL: Actually keep #37 open for `@omit-graph` 17:28:33 +1 17:28:33 +1 17:28:36 +1 17:28:38 +1 17:28:45 +1 17:28:47 +1 ... naming convention appears to be camelCase so @omitGraph 17:29:02 +1 17:29:03 gkellogg: values can have multiple elements (array) part of the reason why this complicates native json support 17:29:15 s/`@omit-graph`/`@omitGraph`/ 17:29:28 s/Graph/Default/ 17:29:28 +1 17:29:37 +1 17:29:41 RESOLVED: Actually keep #37 open for `@omit-graph` 17:30:23 https://github.com/w3c/json-ld-syntax/issues/134 17:30:38 topic: [syntax] Does HTML’s `` effect `@context` IRI resolution? 17:30:47 https://github.com/w3c/json-ld-syntax/issues/134 17:31:00 azaroth: which we will talk about with TAG next week 17:31:12 q+ 17:31:17 q+ 17:31:33 ack bigbluehat 17:31:33 azaroth: [explains example in issue] 17:31:50 bigbluehat: the nuance here is related to the potential dynamic nature 17:32:30 ... the URI spec already outlines that base would also be resolved 17:32:40 ... as it's HTML 17:32:48 q? 17:32:50 ack gkellogg 17:33:18 gkellogg: I think we do need to find someone who's more familiar with HTML 17:33:26 ... esp. wrt. dynamic changes 17:33:43 q+ 17:33:58 q+ to note security HR 17:34:00 q+ to clarify this is about curl (et al) vs. JS-enabled browsers 17:34:42 q? 17:34:43 ack ivan 17:34:48 ... when I was going through this, I seem to recall that in 1.0 we discussed how to deal with a remote context which references another remote context, to what shall this context be relative too? 17:34:57 s/too/to 17:35:22 ivan: the interpretation of the json-ld content must be done onload 17:35:33 ... before anything else is done 17:35:56 q? 17:35:58 ack azaroth 17:35:58 azaroth, you wanted to note security HR 17:36:00 q+ 17:36:07 I'm not sure that we can guarantee that nothing is done before onload 17:36:21 q+ to say that script tags can be added later as well 17:36:39 azaroth: wanted to highlight that this is likely to be a security issue 17:36:45 ... should flag it as such 17:37:21 ... e.g. if you could change a verifiable claim 17:37:55 azaroth: not sure how we could enforce the onload stuff 17:38:00 q? 17:38:03 ack bigbluehat 17:38:03 bigbluehat, you wanted to clarify this is about curl (et al) vs. JS-enabled browsers 17:38:07 ... or test it 17:38:23 https://w3c.github.io/json-ld-syntax/#example-120-using-the-document-base-url-to-establish-the-default-base-iri 17:38:29 ivan: I'm suprised that this wasn't an issue anywhere else 17:38:30 https://html.spec.whatwg.org/multipage/infrastructure.html#dynamic-changes-to-base-urls 17:38:44 bigbluehat: it actually was, see the links I posted 17:39:26 ... embedding the json-ld might be done with JS 17:39:49 ... search engine bots will wait until the page stops moving 17:40:07 ... but if I curl the page, I'll take whatever is in the document 17:40:10 q+ 17:40:39 ... if both things are in play, I might not be able to tell what data is actually shared then 17:41:08 ack gkellogg 17:41:13 ... pinning down when JSON-LD processing shall be done is the actual question here 17:41:33 gkellogg: many applications use HTML as a syntax rather than a processing model 17:42:22 ... what if someone does depend on dynamic state changes 17:42:27 q? 17:42:39 ... were different timings make things undecidable 17:43:17 ... if you look at pre-respec times for example 17:43:23 https://github.com/w3c/respec/wiki/doJsonLd 17:43:41 ack dlongley 17:43:41 dlongley, you wanted to say that script tags can be added later as well 17:44:01 q? 17:44:11 dlongley: we should probably assume that most pages add json-ld after it has loaded 17:44:32 ... we should provide clear guidance 17:44:57 azaroth: does the signature take also all expanded information into account? 17:45:15 dlongley: yes, the sign. requires expanding and converting to canonicalized RDF 17:45:37 ack ivan 17:45:38 ... if you don't to this you don't pass 17:45:57 ivan: RDFa has a very similar problem 17:46:16 ... it doesn't say a word when processing has to be done 17:46:33 q+ to ask if given that can be dynamic, we should ignore it--forcing both `@base` and `@context` URLs to be document URI relative or made absolute 17:46:47 ... although I has the same issues 17:47:00 ack bigbluehat 17:47:00 bigbluehat, you wanted to ask if given that can be dynamic, we should ignore it--forcing both `@base` and `@context` URLs to be document URI relative or made absolute 17:47:02 ... we should provide appropriate warnings 17:47:06 +1 to what ivan said 17:47:14 ... I don't think we can do anything more than that 17:47:19 q+ 17:47:34 bigbluehat: maybe not relying on the base at all? 17:47:54 gkellogg: no.. that would go against the RFC 17:48:03 -1 to ignoring etc -- i don't think it will fly with anyone (+1 to Gregg)... could be wrong of course. 17:48:17 +1 to gregg 17:48:21 q? 17:48:30 ack timCole 17:48:44 timCole: I agree with gkellogg that we have to use base 17:49:30 +1 to timCole Images don’t reload when base changes. 17:49:46 q? 17:49:49 q+ 17:49:50 +1 ti timCole 17:49:51 i.e. sound like an idea is to "lock in base" on read 17:49:55 ack bigbluehat 17:50:36 bigbluehat: part of the reason they don't change images is because they don't expect things to change 17:50:41 q+ to ask about chromium 17:50:51 timCole: yes maybe we should adapt a similar approach 17:50:53 ack azaroth 17:50:53 azaroth, you wanted to ask about chromium 17:51:04 i suspect we might want to see some use cases to understand expectations with Web Components and things of that nature to make the "right decision" here. 17:51:33 q+ 17:51:49 azaroth: what would we anticipate the big browsers would do if the json-ld changes 17:51:56 ack bigbluehat 17:52:09 +1 to bigbluehat 17:52:18 bigbluehat: we should be careful to be not prescriptive on when and how to run processing 17:52:48 ... but as said, provide guidance/info on what would happen 17:53:25 +1 ... as long as people can understand what will happen when they do processing and can control when to do that processing (there is choice), i think we're ok. 17:53:32 +1 17:53:43 ... you have a lot of options 17:53:56 q? 17:53:58 ... some of it is best practices 17:54:17 ... if you targeting curl then put it directly in the document 17:54:29 ... (for example) 17:54:58 q+ 17:54:59 q+ to ask if we can add a warning or something 17:55:04 ack ivan 17:55:26 +1 to ivan, @base keeps you safe IMO 17:55:42 +1 ... use absolute URIs or @base to get "stable" resolution 17:55:50 azaroth: [providing possible proposals] 17:56:00 q- 17:56:26 azaroth: "if you don't do this, this are the possible ramifications" 17:56:54 ... we should explain the different scenarios and what would happen 17:58:21 PROPOSAL: Recommend using absolute URIs or @base within JSON-LD if relative URI resolution is important, and add warnings to the spec for ramifications of using a potentially dynamic DOM for resolution or discovery of JSON-LD blocks 17:58:25 +1 17:58:31 +1 17:58:32 +1 17:58:33 +1 17:58:34 +1 17:58:35 +1 17:58:36 +1 17:58:43 +1 17:58:45 +1 17:58:51 +1 17:59:17 azaroth: this should be the resolution for issue 134 17:59:19 RESOLVED: Recommend using absolute URIs or @base within JSON-LD if relative URI resolution is important, and add warnings to the spec for ramifications of using a potentially dynamic DOM for resolution or discovery of JSON-LD blocks (staying in #134) 17:59:58 q+ 18:00:02 ack bigbluehat 18:00:56 zakim, pick a victim 18:00:56 Not knowing who is chairing or who scribed recently, I propose dlehn 18:01:00 TOPIC: Adjourn :) 18:01:10 rrsagent, draft minutes 18:01:10 I have made the request to generate https://www.w3.org/2019/02/22-json-ld-minutes.html ivan