16:17:57 RRSAgent has joined #json-ld 16:17:57 logging to https://www.w3.org/2020/01/17-json-ld-irc 16:17:59 RRSAgent, make logs Public 16:18:01 please title this meeting ("meeting: ..."), ivan 16:18:15 Date: 2020-01-17 16:18:16 Agenda: https://lists.w3.org/Archives/Public/public-json-ld-wg/2020Jan/0009.html 16:18:16 ivan has changed the topic to: Meeting Agenda 2020-01-17: https://lists.w3.org/Archives/Public/public-json-ld-wg/2020Jan/0009.html 16:18:17 Chair: azaroth 16:18:17 Meeting: JSON-LD Working Group Telco 16:42:21 ajs6f has joined #json-ld 16:42:36 going to be about 15 minutes late 16:51:34 pchampin has joined #json-ld 16:54:49 ajs6f has left #json-ld 16:55:02 ajs6f_ has joined #json-ld 16:55:48 azaroth has joined #json-ld 16:55:55 present+ 16:56:31 gkellogg has joined #json-ld 16:59:19 present+ 16:59:24 present+ 17:01:15 present+ 17:01:21 present+ 17:01:51 scribe+ 17:02:06 TOPIC: Approve minutes of previous call 17:02:16 PROPOSAL Approve minutes of previous call https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2020/2020-01-10-json-ld 17:02:19 +1 17:02:19 +1 17:02:20 present+ 17:02:21 +0 17:02:30 +1 17:02:32 RESOLVED: Approve minutes of previous call https://www.w3.org/2018/json-ld-wg/Meetings/Minutes/2020/2020-01-10-json-ld 17:02:37 TOPIC: Announcements? 17:02:58 TOPIC: Issues 17:03:02 present+ 17:03:12 timCole has joined #json-ld 17:03:14 SUBTOPIC: Syntax #323 17:03:17 link: https://github.com/w3c/json-ld-syntax/issues/323 17:03:33 q+ 17:03:47 ack ivan 17:04:29 present+ 17:04:44 ivan: This is really pchampin’s area, but there is a problem with how we define the JSON datatype (value space) is that we convert the JSON text into a datatypes defined in XSD and are used in RDF. 17:05:16 … There are some funny situations that come up, where for example “1”^^rdf:JSON and “1”^^xsd:boolean are the same, which is wrong. 17:05:45 … THe rdf:HTML datatype uses the DOM, which doesn’t revert to primitive types. We don’t have anything like that in JSON land. 17:05:53 s/xsd:boolean/xsd:integer/ 17:06:17 … I think the only correct way to do it is to say that the value space is a JSON string. This seems odd, but really it’s just a JSON string per the spec. 17:06:55 … Then we have a way to compare two values, as defined by JSON. We do indeed have a mixture of data in JSON for which we have no control. 17:07:02 q+ 17:07:16 … I think that such a change might be substantial and we’d need to go through a more formal CR update. 17:07:34 So if I understand correctly, the question is whether "true"^^xsd:boolean === "true"^^rdf:json ? 17:08:02 pchampin: I agree with ivan; I’m not sure we can take your solution, as the JSON RFC may not describe the semantics of equality. 17:08:02 ack pchampin 17:08:08 q+ 17:08:17 ivan: We do have in our space a way to compare two JSON literals. 17:08:28 hsolbrig has joined #json-ld 17:08:34 present+ 17:08:45 pchampin: We had to do this because the RFC doesn’t. The most natural thing was to refer to other types. Hence the confusion. 17:08:55 present+ 17:09:13 ivan: The comparison process goes into converting to the internal representation for comparison. Otherwise, the value space is a string. 17:09:35 ack azaroth 17:09:38 azaroth: The question is whether or not “true”^^xsd:boolean is the same as “true”^rdf:JSON? 17:10:10 ivan: The way we define the value space is sort of a union of integers, booleans and and so forth. That’s wrong. 17:10:27 q+ 17:10:32 q+ 17:10:57 ack pchampin 17:10:58 azaroth: There is no expectation that the syntax of the JSON is comparible to the semantics of other datatypes. You don’t need to understand that “true” is a valid boolean in JSON to implement the rdf:JSON datatype. 17:11:46 pchampin: I didn’t think it was “wrong”, but it opens a Pandora’s block regarding other specs. It could be expected that OWL processors recognize this value, which could be a problem. 17:12:18 … There might be issues with numbers which might make it _actually_ wrong, as numbers are not very clear. 17:12:19 q? 17:12:27 ack ivan 17:12:55 +1 17:12:58 +1 to Ivan 17:13:02 +1 rdf:JSON is opaque 17:13:11 +1 17:13:19 ivan: The whole reason we went into this is because we want some portion of the JSON-LD to be opaque for RDF processing; our intention was that, but by turning it into an active datatype, we do something that wasn’t intended. 17:13:21 q+ 17:13:23 ack gkellogg 17:13:26 scribe+ 17:13:42 gkellogg: I'll echo ivan's point. Point was not to make a literal that should be cmpard with other things, but is simply JSON 17:13:47 just a way for JSON to travel in RDF 17:14:05 q+ 17:14:12 ... because of normalization, which is not normative, every processor would create the same literal representation. Should ahve said that the value space is the string representing that serialization 17:14:18 ... and to compare as strings. 17:14:20 ack ivan 17:14:52 +1 to ivan 17:14:54 ivan: In an ideal world where there was a canonical JSON spec, we could say that the value space is a canonical version of the JSON serialization. 17:15:09 +1 to "value space is a canonical version of the JSON serialization" 17:15:13 … We do define a canoncialzation. 17:16:06 ivan: Then we could be a bit more precise based on our C14N description. 17:16:20 PROPOSAL: Change the definition of the value space of rdf:JSON datatype to remove the reference to the internal datatypes and replace with a string which is the canonical form of the serialization of the JSON 17:16:28 dlongley: Seems like the eright thing to do to me. 17:16:30 +1 17:16:31 +1 17:16:31 +1 17:16:32 +1 17:16:33 +1 17:16:33 +1 17:16:34 +1 17:16:40 +1 17:16:45 RESOLVED: Change the definition of the value space of rdf:JSON datatype to remove the reference to the internal datatypes and replace with a string which is the canonical form of the serialization of the JSON 17:16:51 q+ 17:17:31 azaroth: This is normative text that changes how the datatype is defined/interpreted, I’d have a hard time arguing that it’s an editorial issue. 17:17:36 q+ 17:17:41 ack pchampin 17:18:10 pchampin: As we’re nit-picking, we should not define it as a subset of XSD represesntations, but as a separate value space. 17:18:18 ack gkellogg 17:18:20 s/XSD/xsd:string/ 17:19:05 +1 17:19:18 ivan: I wasn’t suggesting we republish now. 17:19:38 azaroth: But, we do think it’s significant enough to re-enter CR. 17:20:00 ivan: What gkellogg said, when kasei has “finished”, we can do a republication. 17:20:57 PROPOSAL: Above resolution is a significant change, and that we will need to re-start CR. Re-publication would when current commenters issues have been addressed. 17:21:20 +1 17:21:22 +1 17:21:24 +1 17:21:24 +1 17:21:25 azaroth: kasei is using PERL to start with, and will port to a more modern language later. 17:21:25 +1 17:21:26 +1 17:21:26 +1 17:21:30 +1 17:21:42 RESOLVED: Above resolution is a significant change, and that we will need to re-start CR. Re-publication would when current commenters issues have been addressed. 17:22:02 q? 17:22:12 present+ 17:22:51 ivan: Is there a minimum period of implementation? Do we have to delay based on that limitation? 17:23:11 i think you can do a really short CR, especially if changes are not significant 17:23:31 From process 2019: 17:23:41 > Revising a Candidate Recommendation ... must specify the deadline for further comments, which must be at least 28 days after publication, and should be longer for complex documents, 17:23:51 https://www.w3.org/2019/Process-20190301/#revised-cr 17:24:34 ivan: 28 days is not that bad. Our original deadline was end-of-February. 17:24:49 … We’d need to postpone the dealine until mid-March if we miss that. 17:25:00 … We’re still well within our window. 17:25:49 … We could, in theory, republish syntax without API, but probably best until review is finished. 17:26:46 azaroth: We can probably consolodate our changes into something simpler. 17:27:05 q? 17:27:08 ivan: Let’s make them clean. 17:27:28 TOPIC: DID WG and JSON-LD 17:28:10 manu: It;s again that time of year when a W3C WG is going to re-do JSON-LD :) 17:29:00 … The DID WG adopted the WG spec some time ago; more recently, there’s a group from the Identity Foundation that says they don’t need JSON-LD, that it adds complexity and security issues and the extensibility model is to complex, etc. 17:29:24 https://github.com/w3c/did-core/pull/142 17:29:25 … There all have rational answers, and they don’t really understand JSON-LD to start with. 17:29:55 … As an example, this PR makes processing more explicit, and it has over 103 comments. 17:30:09 https://lists.w3.org/Archives/Public/public-did-wg/2020Jan/0013.html 17:30:12 … We built the spec so you don’t need to run a JSON-LD processor. 17:30:21 … (Note summary is issues). 17:30:58 … It’s sort of like “XML namespace are bad” and JSON-LD is don’t the same, and the spec (DID) doesn’t need it. 17:31:19 afk for a while 17:31:29 … In the past, we try to address concerns one by one in the WG, but that takes time. 17:31:56 … This means that going into feature freeze in March will be difficult, as there are other things to spend time on. 17:32:18 … It comes up time and time again. (activity pub, credentials, now DiD). 17:32:34 … I don’t think there’s a clean solution, it’s more social than technical. 17:32:57 … For example, if you stick to a subset, you don’t need to run through processing. 17:33:25 … But, that doesn’t seem to be “good enough”. 17:33:44 … The DiD WG meeting is in 2 weeks, and we’ll discuss there. 17:33:55 q+ 17:33:59 q+ 17:33:59 ack bigbluehat 17:34:21 q+ to ask what we can do (without inventing teleportation as a dependency) 17:34:41 bigbluehat: There’s also another call today, and then there’s another call to discuss JSON-LD before F2F. 17:35:14 … If you could give us a link to those issues, it would help. 17:35:45 … I wanted to bring this up as it’s a perennial issue, but it’s always a big time sink. 17:35:51 (we've explained to the group that by using `@protected` and an unchanging core `@context` JSON-only software can hard-code checking the `@context` field for a specific string and then just use the JSON keys they know like usual, but this isn't "taking" or isn't good enough at the moment) 17:36:11 q+ to note that tooling is a big part of the problem. 17:36:14 (either because it isn't understood or it isn't "believed") 17:36:41 … There’s a myth that noone uses namespaces in JSON, but it’s really don’t all the time. 17:36:53 s/don't/done 17:37:09 q? 17:37:21 +1 to bigbluehat 17:37:21 ack gkellogg 17:37:25 … We need something that can be used to counter such claims. Going down the pure JSON path creatse it’s own problems. 17:37:30 scribe+ 17:37:53 gkellogg: My observation is one thing that keeps coming up is the remote loading of contexts. A profile that did not allow that might satisfy a lot of those issues. 17:38:15 ... it strikes me that something necessary is a note that can encapsulate these various things. A common profile that might be more normative than a note 17:38:23 +1 to the idea that JSON-only software/special verification software should "install" contexts locally and never load them 17:38:24 ... then we can refer to it once and not keep coming vback to it 17:38:25 q? 17:38:27 ack azaroth 17:38:27 azaroth, you wanted to ask what we can do (without inventing teleportation as a dependency) 17:38:28 remotely 17:38:36 q+ to mention that we've already done a limited profile in VCs and DIDs that don't load remote contexts. 17:38:46 q+ 17:38:54 azaroth: I could be on your next call if it would help. 17:39:09 q+ 17:39:10 … What can we do that will help? 17:39:13 q+ 17:39:24 q? 17:39:25 ack manu 17:39:25 manu, you wanted to note that tooling is a big part of the problem. and to mention that we've already done a limited profile in VCs and DIDs that don't load remote contexts. 17:40:02 manu: There are a couple of things that feed into it. When you talk to each person, they have different motivations, but their solution is to just use JSON. 17:40:21 … They haven’t yet walked down the road to need such extensibility. 17:40:51 … Some people are being ignorant because they have a single simple use case, and are inflicting their “solution” on everyone else. 17:41:26 … Best was is to engage with that individual to expose other problems that JSON-LD solves. 17:42:01 … This WG could engage in those issue discussions, so it’s not just me and dlongley being “apologists” 17:42:58 … The other thing is to be involved more directly in the DiD working group. There is a minority of participants who understand JSON-LD. 17:43:39 … The people who are using it are doing so on faith. When we have breakouts there is a small minority of people that understand why we’re using JSON-LD, and it creates an awkward social dynamic. 17:44:15 … In the long-term, the assumptions on writing best practices is that people will read it, which they won’t. 17:44:55 … The fundamental issue is that there isn’t enough JSON-LD tooling. On Android, there isn’t a good Java processor, so they complain. 17:45:23 … Also, in RDF Dataset Normalization, those libraries don’t exist in C++/C, and so people can’t do bindings. 17:45:56 … As a result, they view it as being overly complex. Note that everyone uses SSL and don’t complain about the complexity, because they don’t have to think about it. 17:46:36 … We’re several years into JSON-LD and still don’t have pervasive implementations. The browser folks have the tooling, so it’s not an issue there. 17:46:50 … It’s the embedded space where we need implementations. 17:47:07 q? 17:47:08 … Fundamentally, it’s a tooling issue. 17:47:11 ack ivan 17:48:02 q+ to offer to be present and silent to hear from the horse's mouth 17:48:05 ivan: I need to mind my dual role, but for the next DiD meeting, I don’t know if it would help if there were suddenly 3-4 more people joining the call. The call is to collect issues to be discussed at F2F. 17:48:18 I completely agree with Ivan, showing up on that call will help JSON-LD WG understand the concerns from the people that have them. 17:48:26 … In the last call, we went into some technical meat, but that’s not the goal right now. 17:48:44 q? 17:49:15 … azaroth and bigbluehat, I’d love to see you regularlly attend, but maybe not just for this call. 17:49:44 … I agree with manu’s discussion on tooling; We had a similar duality in publishing, but it wasn’t as heavily discussed. 17:50:24 … We discussed some processing of the context, but ignore the heavy usage of JSON-LD. 17:51:01 … It turned out to be much less straightforward to use a full library as turning things into a graph resulted in another set of missing tools. 17:51:33 … What this group could do is to get a huge improvement in the tooling, even in JavaScript. 17:52:00 q+ to note that it's valuable for JSON-LD WG members to hear the JSON-only people speak about JSON-LD -- these are valid concerns, we are not meeting their needs. 17:52:02 … Even that rdf.js is hard to use for this community. 17:52:12 ack dlongley 17:53:19 q+ 17:53:23 dlongley: We made a couple of mistakes in naming that are hard to change. Such as “remote contexts” could have been called “shared” or “external”; maybe the spec could add some non-normative notes to show that they don’t necessarily need to be retrieved remotely. 17:53:53 … So, you just “npm install” the packages and they’re available to an implementation,. 17:54:09 ack hsolbrig 17:54:11 … If we can change the discussion around these things it would help. 17:54:32 zakim, close queue 17:54:32 ok, azaroth, the speaker queue is closed 17:55:19 hsolbrig: I represent some communities that come from a very differnet space. For example healthcare uses FIHR, which is very much RDF/OWL focused. We’re trying to put these things together, and JSON-LD proved to be necessary to make this happen. 17:55:49 … We’re putting together a set of tutorials on why RDF is in your future, because if you don’t have it, you’ll need to re-invent it. 17:56:03 q? 17:56:05 +1 to dlongley's suggestion for something like `npm install did-context` -- i.e. contexts can be "installed" they don't have to be remote 17:56:12 … We can assign semantics to things fairly easily using JSON-LD. 17:56:28 ack azaroth 17:56:28 azaroth, you wanted to offer to be present and silent to hear from the horse's mouth 17:56:31 … There’s a lot of enthusiasm about this, and our group is quite excited. 17:56:50 azaroth: Would it be valuable to be present and silent? 17:56:52 ack manu 17:56:52 manu, you wanted to note that it's valuable for JSON-LD WG members to hear the JSON-only people speak about JSON-LD -- these are valid concerns, we are not meeting their needs. 17:57:11 manu: It would be valuable to for this WG to show up and sit and listen. 17:57:24 +1000 to sitting and listening for this stuff and helping understand where others are coming from 17:57:33 q? 17:57:35 ack ivan 17:58:06 ivan: In our communication there’s an under-exploited feature is that the context can be deivered to a JSON file via HTTP. 17:58:27 you mean vi "http headers" 17:58:27 notes that DID Documents don't necessarily travel over HTTP 17:58:33 q+ 17:58:36 … If you have a person working only in JSON a well setup server can deliver JSON easily, and we don’t talk about it. 17:58:37 but useful in other areas 17:58:54 azaroth: Meaning Link headers. 18:00:13 TOPIC: Adjourn 18:00:21 zakim, end meeting 18:00:21 As of this point the attendees have been azaroth, ivan, gkellogg, dlongley, pchampin, dlehn, bigbluehat, manu, hsolbrig, timCole, ajs6f_ 18:00:24 RRSAgent, please draft minutes 18:00:24 I have made the request to generate https://www.w3.org/2020/01/17-json-ld-minutes.html Zakim 18:00:27 I am happy to have been of service, ivan; please remember to excuse RRSAgent. Goodbye 18:00:31 Zakim has left #json-ld 18:01:19 rrsagent, bye 18:01:19 I see no action items