- From: Gregg Kellogg <gregg@greggkellogg.net>
- Date: Mon, 26 Feb 2018 09:50:38 -0800
- To: Linked JSON <public-linked-json@w3.org>
Thanks to Benjamin Young for scribing this week! The minutes now available: https://json-ld.org/minutes/2018-02-26/index.html. Full text of the discussion follows for W3C archival purposes. Gregg Kellogg gregg@greggkellogg.net JSON-LD Community Group Minutes for 2018-02-26 Agenda: https://lists.w3.org/Archives/Public/public-linked-json/2018Feb/0027.html Topics: 1. Charter 2. Pull Requests 3. Issues 4. #488 Properties can not be relative IRI 5. #333 Support JSON values that aren’t mapped 6. #491 define how to specify the json-ld profile in a request 7. #547 Content addressable context Resolutions: 1. forward charter to W3C Management for consideration 2. accept PR #94 and #593 3. adopt @vocab: @base gramar, and use RFC3986 resolution in this case. 4. adopt solution defined in https://github.com/json-ld/json-ld.org/issues/333#issuecomment-366766394 as an interum solution, with final selection of the datatype to a future WG. Organizer: Gregg Kellogg Scribe: Present: Gregg Kellogg, Ivan Herman, Benjamin Young, Robert Sanderson, Niklas Lindström, Paolo Ciccarese, Ted Thibodeau Jr., Rob Trainer Audio: https://json-ld.github.io/minutes/2018-02-26/audio.ogg Topic: Charter Gregg Kellogg: Charter document is at https:///json-ld.github.io/charter PROPOSAL: forward charter to W3C Management for consideration Ivan Herman: (Missed specifics on introduction to issue) Ivan Herman: ...And it'd be good to have issues wrapped up as much as possible before voting ends Ivan Herman: ...Technical issues can stay open, for the WG to address after it's official Ivan Herman: ...But the chairs and staff will need to discuss specifics of the issues list RESOLUTION: forward charter to W3C Management for consideration Topic: Pull Requests Gregg Kellogg: There are 3 open PRs that are under consideration [scribe assist by Benjamin Young] Benjamin Young: ...2 Are pretty straightforward Benjamin Young: ...Unless someone wants to discuss these more now, I'm going to propose that we'll adopt them now PROPOSAL: accept PR #594 and #593 Gregg Kellogg: +1 Robert Sanderson: +1 Ivan Herman: 0 (I have not looked at them:-( Niklas Lindström: +1 (With caveat that I haven't really looked at 593) Paolo Ciccarese: 0 Ted Thibodeau Jr.: +0 Benjamin Young: https://github.com/json-ld/json-ld.org/pull/593 Benjamin Young: ...Update the Expansion Algorithm to use an explicit _frame expansion_ flag Benjamin Young: https://github.com/json-ld/json-ld.org/pull/594 Benjamin Young: Fix compaction on scoped contexts based on @type Benjamin Young: +1 RESOLUTION: accept PR #94 and #593 Gregg Kellogg: We can always look at these more in the future [scribe assist by Benjamin Young] Topic: Issues Topic: #488 Properties can not be relative IRI Benjamin Young: ...TallTed is here to talk relative IRI resolution Ted Thibodeau Jr.: The basic point is that we want to be able to use JSON-LD in the same way we use Turtle [scribe assist by Benjamin Young] Gregg Kellogg: https://github.com/json-ld/json-ld.org/issues/488 Benjamin Young: ...Current the difference between the two formats handling of URIs is odd to say the least Benjamin Young: ...Especially the difference between property and values Gregg Kellogg: RDFa has a vocab attribute that works to make values relative [scribe assist by Benjamin Young] Benjamin Young: ...Perhaps niklas's memory on this would be helpful Benjamin Young: ...I believe we'd talked about relative URIs using concatenation rather than RFC3986's IRI resolution Benjamin Young: ...And there was concern of undesirable effects Niklas Lindström: The confusion might be cleared up with the understanding that the value of keys is like pnames in turtle [scribe assist by Benjamin Young] Benjamin Young: ...And the value space of @id is similar to the < > space in turtle Benjamin Young: ...With the caveat of the @type value...which maps to the short names of types in Turtle Benjamin Young: ...Consequently I'm not sure I quite see the conflict Benjamin Young: ...If you don't use string concatenation, then you can't use anything ending in a # Benjamin Young: ...Because it doesn't survive the relativization process Ted Thibodeau Jr.: I can see that it doesn't have a zero basis [scribe assist by Benjamin Young] Benjamin Young: ...But I fear the confusion will persist Benjamin Young: ...And not just for us Benjamin Young: ...I understand the arguments Benjamin Young: ...We'd like to express the same thing with a JSON-LD doc as a Turtle doc Benjamin Young: ...That's what we need Benjamin Young: ...And that relative URI is what we feel we need to do that Gregg Kellogg: Ack: iherman Benjamin Young: ...That thing that makes it trivial to throw up a document without knowing the full URIs before you put it on the Web Ivan Herman: Can you put an example where JSON-LD is different than Turtle [scribe assist by Benjamin Young] Benjamin Young: https://github.com/json-ld/json-ld.org/issues/488 Niklas Lindström: I believe the examples are linked from issue #488 [scribe assist by Benjamin Young] Gregg Kellogg: For example, <#relative> Gregg Kellogg: I think it's relatively understood that it's defined relative to the document base [scribe assist by Benjamin Young] Ted Thibodeau Jr.: https://github.com/digitalbazaar/jsonld.js/pull/225#issuecomment-361353162 Benjamin Young: ...And JSON-LD does not provide for that...well...it does, but in an unusual way Benjamin Young: ...You can define @vocab and define properties relative to that Niklas Lindström: "Prop" {"@id": "some/path"} == :prop <some/path> != <prop> and <some/path> Benjamin Young: ...But there's no way to say that @vocab space is the same as document space Gregg Kellogg: "@Vocab": "@base" Niklas Lindström: The problem is that if you don't have a hash [scribe assist by Benjamin Young] Benjamin Young: ...The link I just posed has 2 different JSON markups Niklas Lindström: The problem is that if you don't have a hash/TallTed: the problem is that if you don't have a hash [scribe assist by Benjamin Young] Benjamin Young: ...So if the solution is just to put in the @vocab of "empty"... Gregg Kellogg: Well...that wouldn't work because it's not resolved relative to the document base when empty [scribe assist by Benjamin Young] Benjamin Young: ...So we need some way of mapping @vocab to the document base Benjamin Young: ...Which is why we've discussed @vocab: @base Gregg Kellogg: Ack: gkellogg Gregg Kellogg: My propose way of fixing this is to use @vocab: @base [scribe assist by Benjamin Young] Benjamin Young: ...To tie the vocab space to the document space Benjamin Young: ...When that is done, then the IRI resolution switches from concatenation to IRI resolution from RFC3986 Gregg Kellogg: Ack: niklasl Benjamin Young: https://tools.ietf.org/html/rfc3986 Niklas Lindström: Well, it gets complicated with #'s doesn't it? [scribe assist by Benjamin Young] Gregg Kellogg: Well, in Kingsley's example he was using hash relative ones [scribe assist by Benjamin Young] Benjamin Young: ...If it started with a hash, then it'd be fine Benjamin Young: ...If it ended with a hash, then you'd end up with 2 hashes Benjamin Young: ...However, if you used @vocab: @base, then it might replace the last hash component Niklas Lindström: I don't quite see the use case [scribe assist by Benjamin Young] Benjamin Young: ...It feels more academic than industrial Ted Thibodeau Jr.: Well, since this is driven by an industrial need [scribe assist by Benjamin Young] Niklas Lindström: So in Turtle you do this now? [scribe assist by Benjamin Young] Ted Thibodeau Jr.: Yes. [scribe assist by Benjamin Young] Niklas Lindström: Do you have an example you can publish? [scribe assist by Benjamin Young] Gregg Kellogg: http://kingsley.idehen.net/public_home/kidehen/Public/Linked%20Data%20Documents/Nanotations/basic-test2.txt Ted Thibodeau Jr.: Not as such. but if you look at the pages we publish we have embedded Turtle, and we'd like JSON-LD islands also [scribe assist by Benjamin Young] Benjamin Young: ...It forces use to know where the page will live prior to publication Benjamin Young: ...This is a little bit hand wavy, because it's not currently possible to do this Benjamin Young: ...But ideally, someone can author a page Benjamin Young: ...Make some link data statements in various ways that are relative to that page Benjamin Young: ...And in the Turtle space this works fine and has for years Benjamin Young: ...But when we went to do this in JSON-LD, things got complicated Niklas Lindström: K. I can see that. but I still don't see the criticality of it [scribe assist by Benjamin Young] Benjamin Young: ...We really need to consider the implications of a change like this Benjamin Young: ...I think it's more author for an author to be explicity Benjamin Young: ...But it's just opinion and not fact Ted Thibodeau Jr.: Well, consider you're authoring in an Intranet [scribe assist by Benjamin Young] Benjamin Young: ...And using author storage space IRIs Benjamin Young: ...And when it comes time to publish, then all the embedded IRIs need updating Gregg Kellogg: Ack: iherman Ivan Herman: So. wearing my old semantic web hat [scribe assist by Benjamin Young] Benjamin Young: ...I think it's a bad idea if Turtle's expressivity and JSON-LD expressivity differ Benjamin Young: ...I don't really care about RDF/XML...peace upon it Benjamin Young: ...But Turtle is the format of the Semantic Web community Benjamin Young: ...And JSON-LD can do well to learn from it Benjamin Young: ...I do think it's a problem if there are too many similar, but incompatible serializations of RDF Gregg Kellogg: I think we can split my proposal into 2 parts [scribe assist by Benjamin Young] Benjamin Young: ...@Vocab: @base Benjamin Young: ...And separate from that is the way we construct IRIs using that Benjamin Young: ...It's equally confusing if we use 2 IRI resolution systems Benjamin Young: ...Or conversely if we use string concat as with everywhere else Ivan Herman: @Base is the document IRI if not redefined? [scribe assist by Benjamin Young] Benjamin Young: ...Like in Turtle? Gregg Kellogg: Yes. [scribe assist by Benjamin Young] Ivan Herman: TallTed would that work as a solution? [scribe assist by Benjamin Young] Ted Thibodeau Jr.: I believe so, yes [scribe assist by Benjamin Young] Gregg Kellogg: As always the devil's in the details [scribe assist by Benjamin Young] Benjamin Young: ...The bigger question is how @vocab: @base effects the IRI resolution Ted Thibodeau Jr.: What are the options? [scribe assist by Benjamin Young] Gregg Kellogg: Currently, we resolve things against @vocab using string concatenation [scribe assist by Benjamin Young] Benjamin Young: ...Whereas, if you use RFC3986 resolution, dot sequences get resolved Benjamin Young: ...The last sequence of a hash gets replaced unless the IRI ends in a slash Ivan Herman: Isn't it the same in Turtle [scribe assist by Benjamin Young] Niklas Lindström: For the <> space, yes, but not for prefixes [scribe assist by Benjamin Young] Benjamin Young: ...So, for clarification, would it turn @type space into <> space? Gregg Kellogg: Yeah. that's essentially the question [scribe assist by Benjamin Young] Benjamin Young: ...Now as an example of that, @type is different than pretty much anything else PROPOSAL: adopt @vocab Rob Trainer: While gkellogg is typing, I'm +1 to @vocab: @base and RFC3986 resolution [scribe assist by Benjamin Young] Gregg Kellogg: +1 Benjamin Young: ...Anything we can do to improve the clarity around how resolution will also help Ted Thibodeau Jr.: +1 Niklas Lindström: +0.1 (I'm not sure about complexity, understanding and actual production value of it) Ivan Herman: +1 (Provided we do not find too many devils in the details) Benjamin Young: +1 (But I think defining the consequences is necessary) Ivan Herman: So. +1 is for moving toward a PR, correct? [scribe assist by Benjamin Young] Paolo Ciccarese: +1 RESOLUTION: adopt @vocab: @base gramar, and use RFC3986 resolution in this case. Gregg Kellogg: Yes. we'll need consensus on the PR [scribe assist by Benjamin Young] Topic: #333 Support JSON values that aren’t mapped Benjamin Young: ...Onward. looks like we have 20 more minutes Niklas Lindström: https://github.com/json-ld/json-ld.org/issues/333 Benjamin Young: ...Essentially, it would be nice to have a JSON-native data type Ivan Herman: The equivalent of rdf:HTML or rdf:XML, right? Benjamin Young: ...For instance, if you were including GeoJSON, there's really no way to do that unless you're ignoring all of it or trying to interpret it all as JSON-LD Benjamin Young: ...So my proposal would be to expand the notation for @value Benjamin Young: ...So, @value could hold an object or an array Benjamin Young: ...Something like "@value": [{"native": "json"}] Benjamin Young: ...Which could be mapped via a context as {@context: "json-value": {"@type": "jsonld:JSON"}, "json-value": {"native": "json"}} Benjamin Young: ...Given the need to define a datatype, we'll need to make this official as a WG, is that right iherman ? Ivan Herman: Yes. we can explore it now, but to make it official, we'd have to do it normatively as part of a WG [scribe assist by Benjamin Young] Benjamin Young: ...And possibly even within the rdf: namespace Gregg Kellogg: Well...the existing rdf: is part of RDF concepts, isn't it? [scribe assist by Benjamin Young] Niklas Lindström: Rdf:XMLLiteral Ivan Herman: Yeah. the details of making this happen are in the future, but it's not dissimilar to rdf:HTML and rdf:XMLLiteral [scribe assist by Benjamin Young] Gregg Kellogg: So I think we can probably proceed forward [scribe assist by Benjamin Young] Ivan Herman: To make it cleaner, we might put an explicit note that this is a temporary namespace URI and not the final one [scribe assist by Benjamin Young] Benjamin Young: ...And it's expected to be updated PROPOSAL: adopt solution defined in https Ivan Herman: +1 Rob Trainer: Noting that pure JSON-LD that never expand things to triples, won't see this, correct? [scribe assist by Benjamin Young] Gregg Kellogg: Well... not exactly. the processor will need to know when to keep it and/or process it [scribe assist by Benjamin Young] Niklas Lindström: +1 (Detail: not just array and object, all of JSON preferably...) Benjamin Young: ...One way would be to @type: @json Niklas Lindström: Yup... Benjamin Young: +1 (To move toward exploring as a PR) Gregg Kellogg: Any other thoughts? [scribe assist by Benjamin Young] Niklas Lindström: With the caveat that I think this should support all of JSON [scribe assist by Benjamin Young] Ted Thibodeau Jr.: +0 Benjamin Young: ...Numbers, booleans, etc. Benjamin Young: ...If you have a system that needs something raw as "just JSON" it needs to avoid tripping those processors up Gregg Kellogg: Where this might run into issues is that everything ends up as an array when processed [scribe assist by Benjamin Young] Benjamin Young: ...So it becomes impossible to know what's supposed to be a number intentionally and what would be separately stated to be a number Benjamin Young: ...We do something similar with @set Niklas Lindström: It's going to be hard to understand I'm afraid [scribe assist by Benjamin Young] Ivan Herman: We do need to watch for complexity [scribe assist by Benjamin Young] Benjamin Young: ...It is something we need to watch for as we move toward WG RESOLUTION: adopt solution defined in https://github.com/json-ld/json-ld.org/issues/333#issuecomment-366766394 as an interum solution, with final selection of the datatype to a future WG. Topic: #491 define how to specify the json-ld profile in a request Gregg Kellogg: So. when I make a request of the server that I want to expressly have it framed [scribe assist by Benjamin Young] Benjamin Young: https://github.com/json-ld/json-ld.org/issues/491 Benjamin Young: ...Similarly, how might I tell the server that I want it compacted Benjamin Young: ...Anyone invested in this one? Benjamin Young: ...Let's differ and ask again on a future call Benjamin Young: ...To see if the major supports show up to argue its case Topic: #547 Content addressable context Benjamin Young: https://github.com/json-ld/json-ld.org/issues/547 Gregg Kellogg: This one covers how to deal in part with cross protocol issues, but also means of resolving contexts where an HTTP IRI may not be reliable for other reasons (caches, etc) [scribe assist by Benjamin Young] Benjamin Young: ...There are many ideas explored in this issue Benjamin Young: ...As noted in the issue, the document loader already supports this by having it's own document cache Gregg Kellogg: Ack: iherman Ivan Herman: Why is this type of issue part of this type of specification? [scribe assist by Benjamin Young] Benjamin Young: ...This starts to get into protocol design Benjamin Young: ...And perhaps not part of the language specification Robert Sanderson: (Regrets, arrived at meeting that I was on the train for, and fell off voice) Gregg Kellogg: We do use profiles for compacted, etc. [scribe assist by Benjamin Young] Benjamin Young: ...And there are real life use cases for this like Verifiable Claims, etc. Ivan Herman: K. well maybe its an editorial issue [scribe assist by Benjamin Young] Benjamin Young: ...Perhaps it's cleaner to separate everything that's HTTP related into a separate document Benjamin Young: ...It's a bit concerning to have the mixture of things in 2 places. Gregg Kellogg: Ack: bigbluehat Benjamin Young: I think we should defer this to another call, but it boils down to the lack of a promisorial nature of any URI that’s not matched to a content hash that includes it’s on validation, so that it can’t be used in a decentralized fashion. [scribe assist by Gregg Kellogg] Gregg Kellogg: … There is no way that the URI will mean something today and not tomorrow. It may be a protocol issue. when you state as a publisher what I’m giving you, and we need something more promisorial. Ivan Herman: In a sense, this reinforces what I said: it is a problem, but not for this working group. [scribe assist by Gregg Kellogg] Benjamin Young: Maybe we just note in the document that are different IRIs that are more suitable. [scribe assist by Gregg Kellogg]
Received on Monday, 26 February 2018 17:51:11 UTC