# 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