JSON-LD Working Group Telco — Minutes
Date: 2019-07-12
See also the Agenda and the IRC Log
Attendees
Present: Rob Sanderson, Gregg Kellogg, Ruben Taelman, Benjamin Young, Adam Soroka, Dave Longley, David I. Lehn, David Newbury, Pierre-Antoine Champin
Regrets: Ivan Herman
Guests:
Chair: Rob Sanderson, Benjamin Young
Scribe(s): Adam Soroka, Pierre-Antoine Champin
Content:
1. scribe selection
2. Approve minutes of previous call
Proposed resolution: Approve minutes of previous call: https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2019/2019-06-28-json-ld (Rob Sanderson)
Adam Soroka: +1
Rob Sanderson: +0 (not present)
Gregg Kellogg: +1
Benjamin Young: +1
David I. Lehn: +1
Dave Longley: +1
Resolution #1: Approve minutes of previous call: https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2019/2019-06-28-json-ld
Ruben Taelman: +1
3. Announcements / Reminders
3.1. Standing TPAC reminder
3.2. Other announcements
Benjamin Young: https://adaptivecards.io/
Benjamin Young: talking with team at MS building ^^^^
Benjamin Young: they are wondering if JSON-LD can map into their tempalting space
… they are excited about what that might do to avoid being dependent on particular key names
… I’m going to follow up with them in a month
… . JSON-LD evangelism is good!
… if there are people who need some contact I can help
… or let us know how your own efforts are going
4. Issues
4.1. @source and @propagates
Rob Sanderson: link: https://github.com/w3c/json-ld-syntax/issues/108
Rob Sanderson: link: https://github.com/w3c/json-ld-syntax/issues/174
Benjamin Young: there’s also a related API PR https://github.com/w3c/json-ld-api/pull/112
Gregg Kellogg: we should probably have created a new issue
… @propagate
defines how scoped contexts are managed when traversing properties;
… by default type scoped contexts are droped when traversing; property scoped contexts are kept
Rob Sanderson: preview: https://pr-preview.s3.amazonaws.com/w3c/json-ld-syntax/pull/200.html#context-propagation
Gregg Kellogg: there are caveats when contexts are in arrays.
… @azaroth and @pchampin proposed to change the default for type scoped contexts. This should be discussed in a different issue.
… Another discussion was about what could be used together with @source
and @propagate
.
… I argued that @version
should be also used. @protected
could be used also.
Benjamin Young: syntax PR https://github.com/w3c/json-ld-syntax/pull/200
Gregg Kellogg: And term definitions could be used to “edit” the sourced context.
Gregg Kellogg: https://github.com/w3c/json-ld-api/pull/112
Gregg Kellogg: This is reflected in two PRs (in syntax and api).
… One of the question is whether @source
is the correct keyword,
… since this is not just a reference to a context (it can be customized).
Dave Longley: i’m currently in the
@import
camp for bikeshed colors
Rob Sanderson: You said it only works if the sourced context is an object, and not an array?
Gregg Kellogg: yes, the implementation of @propagate
is complicated, especilally identifying what needs to be unwind.
… Arrays make it harder to figure it out.
Rob Sanderson: This limitations should be checked agains use cases.
… In XXX, we do have an array containing the Web Annotation context, then another redefining some terms.
Gregg Kellogg: this could be done by a context object sourcing the Web Annotation context, and customizing it in the same object.
… This would actually be more faithful to the intention.
Rob Sanderson: Thus:
@context: { "@source": "http://www.w3.org/ns/anno.jsonld", "@propagate": true, "label": { ... } }
Dave Longley: There was no way in JSON-LD to inline edit a context when importing it.
… What @azaroth wants to do is exactly that.
Gregg Kellogg: The danger is that the remote context may change, then the edits may become inaccurate.
… SRI in this situation could be useful, to assert something about the context being referenced.
Dave Longley: +1, and the constraint of having a context object (as opposed to array) would also apply to SRI
… with arrays, this would be very brittle
… as arrays could reference other contexts
Pierre-Antoine Champin: this constraint (the referenced context only being an object) looked very complicated to me at first
… it’s started to make more sense
… but if we want to make this a thing, it should have a name
… a well-identified notion
… we might want to reuse it in other parts of the spec
Gregg Kellogg: I think we do
… we talk about it in the API algo
… but we may not have a term defined
Dave Longley: figuring out the language might have to do with talking about contexts as “composable” or not … at least via certain features
Gregg Kellogg: for that matter, we don’t have terms for a type-scoped context vs. a property-scoped context
Rob Sanderson: it would be useful to know about implementation status on this. Can we test it now in the distiller?
Gregg Kellogg: it is currently on a branch, but I can make it available in the distiller.
… I was waiting for us to discuss it, and settle the @source
/@import
question.
Rob Sanderson: what about the python and JS implementations?
Dave Longley: we don’t have a timeline for python at the moment
David I. Lehn: neither for JS
Rob Sanderson: as for @source
vs. @import
, let’s have a strawpoll
Benjamin Young: Those for
@source
please +1
Dave Longley: -1
Gregg Kellogg: +0
Rob Sanderson: -0
Benjamin Young: -1
Adam Soroka: +0
Pierre-Antoine Champin: +0
Ruben Taelman: -1
David Newbury: +0
Benjamin Young: Those for
@import
please +1
Rob Sanderson: +1
Dave Longley: +1
Gregg Kellogg: +1
Benjamin Young: +1
Ruben Taelman: +1
Pierre-Antoine Champin: +0.5
Adam Soroka: +1
Resolution #2: change
@source
to@import
Rob Sanderson: :shipit:
Gregg Kellogg: there is some pressure to get a new working draft
… (discussion on whether we need to wait for feedback on the PRs)
Benjamin Young: merged https://github.com/w3c/json-ld-syntax/pull/202
4.2. Content addressable contexts
Rob Sanderson: link: https://github.com/w3c/json-ld-syntax/issues/9
Rob Sanderson: +1 to closing, no normative change needed
Benjamin Young: this one has been closed and re-opened…
Dave Longley: +1 to closing, handled elsewhere
Gregg Kellogg: I’d like to close it as an issue for the normative documents. Create a new one for the BP
Proposed resolution: close #9 with no action needed; solved via DocumentLoader and possible content for the Best Practices (Benjamin Young)
Rob Sanderson: +1
Gregg Kellogg: +1
Dave Longley: +1
Benjamin Young: +1
Pierre-Antoine Champin: +1
Adam Soroka: +1
Ruben Taelman: +1
David Newbury: +1
David I. Lehn: +1
Resolution #3: close #9 with no action needed; solved via DocumentLoader and possible content for the Best Practices
4.3. JSON-LD in HTML
Rob Sanderson: link: https://github.com/w3c/json-ld-syntax/issues/172
Rob Sanderson: link: https://github.com/w3c/json-ld-syntax/issues/103
Benjamin Young: #172 is Manu raising the problem of parsing text/html context documents.
… #103 is about changes in the document’s base URL for embeded JSON-LD.
… Let’s discuss them separately, starting with #103.
… The Web Publishing WG is rechartering. They are planning to focus on an audio-book format (using JSON-LD in a separate file).
… Their work on JSON-LD in HTML would be moved to the CG.
… So if the use case for #103 is too specific, we could decide to not address it.
Rob Sanderson: (asks a question about setting the base URL to null)
Rob Sanderson: +1 for consistency :)
Gregg Kellogg: if base is set to null, relative URIs are not resolved at all
… but in the case of JSON-LD is embedded, I think the URL of the embedding document is used
… There has been a concern about the fact that base can be dynamically modified.
Dave Longley: I remember use cases where people wanted relative URIs to survive compaction/expansion.
… We are well aligned with what others are doing.
Dave Longley: +1 for supporting package-scoped things
Benjamin Young: I think the behaviour of not resolving URIs when the base is set to null, should be made explicit (if it is not already)
Action #1: Benjamin Young to research the status
@base: null
and possibly suggest making things clearer
Benjamin Young: https://html.spec.whatwg.org/multipage/scripting.html#data-block
Gregg Kellogg: it is possible that it is explicit in the API doc, but not the syntax doc
Benjamin Young: from an HTML perspective, any attribute of the script tag should be ignored
… #103 should be taken care of by the action created above.
… Now discussing #172: context documents embeded in a text/html document.
Gregg Kellogg: Note that the spec currently mentions this use case.
Dave Longley: +1 to making it more palatable
Gregg Kellogg: There was concern about naming the HTML-enabled processors “full processors”,
… implying that otherprocessors are not “fully compliant”
Rob Sanderson: as soon as we decided to make JSON-LD in HTML, we open the door to this;
… so some JSON-LD will not be available to a non “full processor”
Benjamin Young: currently, contexts are all in JSON-LD documents.
… There does not seem to be a demand for embedding contexts in HTML documents.
Dave Longley: +1 to bigbluehat, “contexts” are all in JSON-LD documents, don’t change that … fine to talk about how to pull JSON-LD blocks out of HTML
Benjamin Young: Additionnally, we would need a different content-type for data-blocks, to distinguish contexts from data.
… For me, the fact that JSON-LD can be embedded in data-blocks was not normatively defined by JSON-LD; it was normatively defined by HTML.
… I never expected a JSON-LD processor to get itseld the embeded JSON-LD from the data-block.
Dave Longley: -1 to massive shifts that complicate all the things.
Gregg Kellogg: one demand is from schema.org:
… they would be happy to not have to perform content-negociation,
… and serve their context directly in the HTML homepage.
… Re. content-type, we don’t need a new one, merely a content-type parameter for distinguishing contexts.
Benjamin Young: https://github.com/w3c/json-ld-syntax/issues/172#issuecomment-493257482
Benjamin Young: https://github.com/w3c/json-ld-syntax/issues/172#issuecomment-501884159
Benjamin Young: https://github.com/w3c/json-ld-syntax/issues/172#issuecomment-502164325
Benjamin Young: danbri did mentioned that he didn’t want to put the actual (big) schema.org context in the HTML page;
… merely a small context referencing the original context
Dave Longley: -1 to using a hammer to solve a problem that may smash everything around it to bits
Benjamin Young: What happended before (content-negociation + redirection) was happening outside the JSON-LD processor.
… Now, we forced this in the JSON-LD processor, making it a much bigger animal.
Rob Sanderson: I see things differently.
… As we have JSON-LD data in HTML documents, we can not make contexts in HTML invalid.
… Would JSON-LD data with a context in it be invalid?
Dave Longley: -1000 to referencing an HTML document as a remote context
Rob Sanderson: This would make no sense.
… The question we could ask is: is it valid to reference an HTML-embeded context from another JSON-LD document?
Rob Sanderson: +1 to explicit justifications
Gregg Kellogg: topic for next week: we need a story to justify the perceived “bloat” in JSON-LD 1.1
5. Resolutions
- Resolution #1: Approve minutes of previous call: https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2019/2019-06-28-json-ld
- Resolution #2: change
@source
to@import
- Resolution #3: close #9 with no action needed; solved via DocumentLoader and possible content for the Best Practices
6. Action Items
- Action #1: Benjamin Young to research the status
@base: null
and possibly suggest making things clearer