# W3C Solid Community Group: Data Interoperability Panel * Date: 2022-02-08T15:00:00Z * Call: https://meet.jit.si/solid-data-interoperability * Chat: https://gitter.im/solid/data-interoperability-panel * Repository: https://github.com/solid/data-interoperability-panel ## Present - Justin B - Angel A - Laurnes D - Eric P - Stijn T - Juliette C - e Pavlik ## Regrets * --- ## Announcements ### Meeting Recordings and Transcripts * No audio or video recording, or automated transcripts without consent. Meetings are transcribed and made public. If consent is withheld by anyone, recording/retention must not occur. * Use panel chat and repository. Queue in call to talk. ### Participation and Code of Conduct * [Join the W3C Solid Community Group](https://www.w3.org/community/solid/join), [W3C Account Request](http://www.w3.org/accounts/request), [W3C Community Contributor License Agreement](https://www.w3.org/community/about/agreements/cla/) * [Solid Code of Conduct](https://github.com/solid/process/blob/master/code-of-conduct.md), [Positive Work Environment at W3C: Code of Ethics and Professional Conduct](https://github.com/solid/process/blob/master/code-of-conduct.md) * If this is your first time, welcome! please introduce yourself. ### Scribe Selection * JB * Pavlik ## Agenda ### Review Implementation Efforts Shape Trees - Specification - https://shapetrees.org/TR/specification/index.html - Core specification is done (ready for implementation and feedback) - Primer - TBD - Java: https://github.com/janeirodigital/shapetrees-java - Server side / client-side - OkHttp Client Support - Typescript: https://github.com/janeirodigital/shapetrees-js - Updates are in-progress - CSS - Hook typescript implementation into CSS once typescript updates are finished. - Getting close to spending time looking at how data instances and shape trees can improve the developer experience Solid Application Interoperability Typescript (sai-js): - Internal parts are mostly in place - especially access grants / consents - Wrapping bits needed to respond to data subscriptions, etc. - Application module hasn't changed too much, should be inline with implementations of the spec - https://github.com/janeirodigital/sai-js Authorization Agent (typescript): - Authorization Agent implementation being implemented in typescript - One for the frontend and one for node-js service that performs the operations through sai-js - Two repos are published - still early work in progress - open for suggestions / PRs / issues - https://github.com/janeirodigital/sai-impl-service - https://github.com/janeirodigital/sai-impl-web Java Library (sai-java) https://github.com/janeirodigital/sai-java - JB: It's not fully complete, sai-js is ahead of it. sai-java is advancing really fast. We had to cover new ground since tools for authentication (solid-oidc) or even utilities to deal with rdf and http are not fully mature. All core foundation is complete, we have solid-oidc auth implemented. Probably will go into its own module. It has Authorized Session interface allowing for session storage and retrieval. Last week we added JSON-LD support as well. I've been creating PR for JSON-LD contexts. - JB: Agent profiles are done, social agent, application profile. Application profile is combined with Solid-OIDC Client ID Document. PR was reviewed by both Aaron and Pavlik, who work on Solid-OIDC. - JB: Next I'll be working on Access Consents and Access Grants. Next in the queue will be Data Registrations and Data Instances. - LD: I'll be looking at sai-java. Fetching we do now with Jena and OkHTTP. - JB: We are using the same tooling. For JSON-LD we use Titanium. I also use OkHTTP. - LD: Project I work on will use SpringBoot. - JB: We also use SpringBoot in some private projects. - LD: Perhaps we will be contributing some java tooling. Solid lab is open source initiative for dev tooling. - Eric: We will need to change some URLs into IRIs. That raises a question, what is the right URL to use? There are both Java and Jena URLs/IRIs. OkHTTP also implemented its own. There also is RDF4J where Jena dependencies may be an issue. - LD: We mostly use the URL class right now. We also bumped in problems in using that with Jena. - JB: Java URL class, where you do a comparison. May do a DNS lookup. It is a 2 decades old Java problem. - JB: https://developer.squareup.com/blog/okhttps-new-url-class/ - ...: They talk about the problem with equality. - JB: We have meetings on Wednesday, which is bit late in Europe. We picked this spot since most attendees were on Americas timezones. - LD: Late hour is not really a problem for me. I just need a meeting link. ### Agent Registry JSON-LD Contexts Link: https://github.com/solid/data-interoperability-panel/pull/236 - JB: There are couple open questions. There are context for agent registration instead of sepearte ones. - eP: Why don't we just have on interop context that can be used for anything using interop vocab? - JB: I don't have strong opinion. I haven't spent enough time with JSON-LD to establish practical opinion. - Eric: JSON-LD adds self description to data. Question is if you have items that are described in one schema, you want them to have the same description in JSON. - JB: When JSON-LD contexts are separated like this... If they are all combined you probably just use id node label in the context. - Pavlik: Can you give an exaple. - JB: To be able to switch between turtle and json-ld I needed to add `@id`: `@id`. In Solid-OIDC it is mapped to `client_id`. - Eric: Are you talk about framing? - JB: I didn't have to deal with farming. - Pavlik: I still don't understand where those JSON-LD contexts will be needed. - JB: It's mostly getting the right information on write. - Eric: The better we can specify specific framing the more useful it becomes. I find the value proposition in not requiring JSON-LD library. ### Stijn Q&A *To be covered in Github / in next week's session* ## Action Items * Update README with active implementations