JSON-LD Working Group Telco — Minutes

Date: 2020-04-10

See also the Agenda and the IRC Log


Present: Rob Sanderson, Ruben Taelman, Ivan Herman, Gregg Kellogg, David I. Lehn, Tim Cole



Chair: Rob Sanderson

Scribe(s): Ruben Taelman, Benjamin Young


Pierre-Antoine Champin: We have something in the CBOR notes, as of 40 minutes ago.

Benjamin Young: https://w3c.github.io/json-ld-cbor/

Pierre-Antoine Champin: It’s rather basic for the moment. Just a straight JSON to CBOR conversion, with a few JSON-LD-aware hacks. We have to discuss these. For example, bigints in CBOR are converted to xsd:int, but that may not fit into it, so we need to discuss these kinds of things.

Rob Sanderson: We will add CBOR as a discussion point for next week’s call.

Ivan Herman: There even is a CBOR datatype.

Pierre-Antoine Champin: Yes, but there are some things to take into account there. For example conversion with JSON datatype. We may want to convert JSON to CBOR for efficiency.

1. Recent Changes to the text

Gregg Kellogg: Mainly implementation reports were added. Some small editorial issues have been opened, which I will get to in the next couple of days.

2. Implementation Reports

Gregg Kellogg: https://w3c.github.io/json-ld-api/reports/

Gregg Kellogg: We have 8 implementations represented in the reports. 3 of them are rubensworks’s
… pyld is based off a branch, that will be merged into the master branch shortly. Same as […].
… It looks like we have two implementations passing each test, except for some tests in framing.
… HTML will also have 100% conformance in pyld, but not in jsonld.js.
… toRdf and fromRdf will also have multiple implementations.

Rob Sanderson: This test: https://w3c.github.io/json-ld-api/tests/fromRdf-manifest#tdi11

Gregg Kellogg: The fromRdf, compound literal test has only one implementation at the moment, but that is non-normative, so wouldn’t be a big problem if that stays like that.

Ivan Herman: We should mark tests that are non-normative.

Gregg Kellogg: Yes, there will just be two such tests.
… I’m not sure which implementation the “ropot” user is responsible for, so we may have another implementation in the list later on.

David I. Lehn: The python and JS implementation is a bit behind, but may get that done later today.

Pierre-Antoine Champin: Is there a synthetic view on which tests have at least two implementations and which don’t?

Gregg Kellogg: No, we just examine each row in the test. We could easily write some software that would show number of tests with at least two passes.

Pierre-Antoine Champin: I have a CSS rule that does something like that, which I can share.
… I will make a PR to add that.

Ruben Taelman: I wanted to comment on the compound literal that just had one test
… I don’t plan to implement that in my implementation
… because doing that in a streaming way would be tricky
… if it’s really necessary, I could try
… but since it’s non-normative, I’d rather not

Gregg Kellogg: yeah, those are both experiments

Rob Sanderson: and since it’s non-normative, it’s just informational
… but we should call them out, as ivan mentioned, so it’s clear they’re not required to have two implementations

Ivan Herman: The python and JS implementation, can they really be considered independent implementations since they are both by dlongley?

Gregg Kellogg: They share logic, but they are not copies. Same as in my implementation.

Ivan Herman: This is a question the director may ask when we submit it.

Benjamin Young: A lot of framing only has one implementation.

Gregg Kellogg: Both pyld and jsonld.js will pass all tests.

Benjamin Young: Also in HTML tests, some tests have just one passing implementation.

Gregg Kellogg: jsonld.js fails a few of those tests, but pyld will pass all.

David I. Lehn: I switched out the HTML parser in jsonld.js, and with that, all HTML tests pass.

Gregg Kellogg: We expect two implementation reports for jsonld.js: browser and Node

Benjamin Young: Guile has a bunch of inapplicable in the test results.

Gregg Kellogg: It uses earl:status, and that has a number of possible values.
… Instead of saying FAILED, it may also just say INAPPLICABLE or something else.
… It doesn’t matter what those labels say, as long as we have at least two passes per test.

Rob Sanderson: I think the mode that we have specified that if the implementations are carbon copies, because we spec’d an algorithm, and those implementations just implement that.
… If problems are discovered in that algorithm, the implementors could discuss this jointly. In that sense, full independence may not be an issue here.
… When should we finalize the implementation report?
… We should definitely wait on pyld and jsonld.js
… We can either wait until those two are done, or we wait until next week.

Gregg Kellogg: What does it mean to freeze the report?
… We will continue updating the report.
… Does the live version of the report need to be fixed to a certain version?

Pierre-Antoine Champin: Is it worth it to add more columns even if not many tests pass? We are working on a Rust report, and thinking about including it in the report, even if not all tests pass.

Ivan Herman: I don’t think we should freeze the report, and we can just point to the live report.
… We just have to decide when to start the PR phase.
… Because of COVID, there is an agreement that all CR votes will be longer than they are now. Usually 4 weeks, but will now be 6 weeks.
… A few weeks or days after charter ends should still be fine, but we don’t want to wait too long to initiate PR.
… Putting an implementation in the report, which has like 25% tests that work, but others that fail, is not an attractive thing, so should probably not be added.
… The CG had a list of implementation work happening, so we may want to revive that. Once a decent number of tests pass, it should be added to the report IMO.

Rob Sanderson: Is it possible to have another section in the report listing WIP implementations?

Gregg Kellogg: There is a section on jsonld.org on implementations.

Pierre-Antoine Champin: A lot of red would indeed give a bad impression.

Action #1: write prose for implementation report ref to json-ld.org implementation list (Rob Sanderson)

Gregg Kellogg: Implementations should not report failures for sections that they don’t intend to implement.
… Framing for example shows two implementations, as they are not contained in the manifests of all the other implementations, as they don’t intend to implement it.

Ruben Taelman: What are the conditions for listing implementations on json-ld.org?

Gregg Kellogg: Right now, just full spec compliance, but we should open that up for more things.

Ivan Herman: It might be obvious to us what these test report groups are (compaction, …), but we may want to add more details and links to that.

Gregg Kellogg: Yes, that’s a matter of software update. We could add a short description section.

Ivan Herman: This could explain some of the test results of some implementations.

Rob Sanderson: Given the six weeks voting period, when do we need to do the transition?

Ivan Herman: The week of 20th April is TheWebConf week, and I am supposed to be around. If on that week Friday (24), it is decided to go to PR, we could start the procedure on Monday (27), so that early May things go out. The vote would then go out around when the charter ends.
… We can’t make it earlier, so that should be good.
… Or do we think we could already decide next week to go to PR?

Rob Sanderson: Depends on pyld and jsonld.js

Gregg Kellogg: I would say that we might vote today, that as soon as the report shows two passes for every norm feature, the transition could happen, which should be somewhere mid next week.

Ivan Herman: Doesn’t make a big difference if we just do it next week Friday, would be cleaner.
… But next week would be great, because the week after we can start the procedure.
… But we need to freeze the reports then.

Gregg Kellogg: The CR doc is frozen now, but we still need to republish.

Ivan Herman: As soon as we go to PR, the doc is frozen, also for editorial changes. (minus typos and such)

Gregg Kellogg: And what about the new process.

Ivan Herman: The new process is not yet active.
… As soon as we publish PR, it’s frozen for a long time.

Gregg Kellogg: So we publish a CR, vote, and then we publish PR.

Ivan Herman: Only shallow editorial changes are allowed.
… We will have to decide next week that we intend to use the new process.
… I would try to start a vote for both the PR, and the continuation working group.

Rob Sanderson: Is the new process in flux, whether a spec can/must say that changes will be allowed afterwards?

Ivan Herman: In the PR, you can signal that if something becomes a rec, that you can make changes. But we are transitioning, so I don’t know if we can do that now.
… We have to raise this upon PR.
… We will raise an issue for the PR transition, and in that I will put an additional question for this.

Rob Sanderson: The only concern I have is if the docs are frozen, but then it is decided that it needs to be in the doc, then we need to modify the doc again.

Ivan Herman: Philippe has to figure this out.

Rob Sanderson: Ok, so not our headache.
… We will try to get as many useful entries in the impl. report before next week, and get editorial work done.

Rob Sanderson: +1 to resolution for streaming next week too

Ivan Herman: will the streaming note be ready?

Ruben Taelman: yes. it should be ready unless issues come up

Ivan Herman: If next week will be an admin resolution meeting, maybe next week we can pass a resolution regarding the streaming note. So we can publish the streaming note and PR on the same date.
… This should give some more visibility.

Pierre-Antoine Champin: Is it appropriate to use normative vocab in notes?

Ivan Herman: Yes, but it doesn’t have any formal weight.

3. Slack

Rob Sanderson: link: https://join.slack.com/t/w3ccommunity/shared_invite/zt-cr70arnm-znGpbS~9_7KdQ9tK9XIzMA

Rob Sanderson: There is a W3C community slack group.
… This is mostly the equivalent of cat gifs and memes, but feel free to join the W3C-flavored slack, here is the invite.
… There is both chatter and support.

Ivan Herman: We could have a separate jsonld channel on that

Rob Sanderson: There is not a real move out of IRC to slack yet.

Ivan Herman: There are talks on that, because people have issues with IRC.
… This is still unknown.

4. Namespace document PR

Ruben Taelman: https://github.com/w3c/json-ld-wg/pull/140

Ruben Taelman: we probably should’ve talked about this last week
… but there’s a PR on the namespace document
… so we should probably decide if that should be in there

Ivan Herman: could you reference the final format of the preview?

Ruben Taelman: not sure what you mean exactly

Ivan Herman: I can look at the differences, but it’s hard for me to find the different representations
… I can hunt them down in GitHub
… but it’d be helpful to have them added to the issue
… we don’t have the preview feature available on this repo

Ruben Taelman: should I upload the HTML as a comment?

Ivan Herman: [thinking]

Rob Sanderson: it’s a matter of formatting a preview URL correctly

Ivan Herman: so, the problem is that it’s on a personal repo (fork) and not on ours
… preview’s also having trouble with HTML rendering…
… no idea why

Ivan Herman: preview of the PR html

Rob Sanderson: toward the end of the diff, it adds a section for definitions about the URI for streaming
… there are some questions–like is a github.io URI OK?
… but that would need to wait until the note is published, to then be updated to the final reference to the note
… but if this goes in with the note, then it should point to the location of the note
… but it’s a formal namespace doc…and those can be elsewhere
… so lots of variables in terms of process
… I’d prefer to wait on this until the note is approved
… and then update the namespace document to point to the note
… in the unlikely event that the note doesn’t get published, then we’d have to take this out
… so I’d prefer we wait until post note approval
… so let’s review this over the next week as part of a general review
… and makes sure things are in order here also
… thanks for bringing that up rubensworks
… we will discuss it again

5. Adjourn

Rob Sanderson: bye all. talk next week!

6. Action Items