solid / specification

Solid Technical Reports
https://solidproject.org/TR/
MIT License
486 stars 46 forks source link

Create shapes repository #506

Closed VirginiaBalseiro closed 1 year ago

VirginiaBalseiro commented 1 year ago

This discussion started in the webid-profile specification group, and was discussed during a CG meeting. I am starting this issue in this repository so that we can discuss the creation of a shapes repository, but feel free to move to somewhere else if more appropriate. The text below is @csarven's comment on the discussion thread:


Feel free to move (copy/paste) this to a separate issue or discussion, but since the original discussion started off shape reuse, I'd like to suggest the following:


Background/Justification for the curious:

The management of the shape repository and publication can be same as https://github.com/solid/vocab . None of works there belong to a particular group but there is a process on accepting changes across groups and time. I created that repo because we needed to coordinate in an open and transparent fashion.

I'll refer to a couple of examples from the W3C to point out how ns/solid/* does not belong to the Solid CG (or any other group), because the same will ultimately apply to the publication of Solid shapes:

There is no need to constrain the shape repository to specific interoperability between classes of products, e.g., for particular (not all) "client to client" shapes. Again, the shapes can ultimately it'd be backed by or can work with one or more specifications. So, a single shapes repository would serve as a place to eventually publish them somewhere (just like solid/vocab) but is not intended to hold any random shape.

Originally posted by @csarven in https://github.com/solid/webid-profile/discussions/88#discussioncomment-5238350

jeswr commented 1 year ago

Love the idea - and happy to help support the work on this in particular

A single GitHub repository for shapes under the Solid org.

I can dig out some old workflows that I have for "linting" and validating shapes in CI.

Set workflow to have each shape available from a URL, e.g., http(s)://www.w3.org/ns/solid/shapes/{shortname}.

https://github.com/jeswr/rdf-serve.js supports content-negotiation with SHACL Compact Syntax, Extended SHACL Compact Syntax + all recommended RDF Syntax's. Alternatively https://github.com/jeswr/rdf-transform.js/ could be used to do the same content-neg from a vercel edge function (which I'm currently setting up for my personal website). If there is interest in adopting the SHACLC CG spec within Solid (which I appreciate could be controversial) then I will also put effort into improving these language servers for vscode to support that https://marketplace.visualstudio.com/items?itemName=jeswr.shaclc-language-server.

elf-pavlik commented 1 year ago

:+1: As long as we do not include any domain-specific shapes (chat, project management etc,). Only domain-agnostic shapes from a solid family of specifications would go there.

timea-solid commented 1 year ago

As a follow up to some discussions: we now have a chat client-to-client spec github repo: https://github.com/solid/chat Initial shape work will be done in the spec repos itself until it will be ported to the Solid organization shape repo (possibly: https://github.com/solid/vocab if you'd like).

csarven commented 1 year ago

Following action of 2023-03-15 CG meeting: https://github.com/solid/specification/blob/64de52fda6915dd77e15142b6bf8c31c1f8d7d64/meetings/2023-03-15.md#shapes-repository , created https://github.com/solid/shapes . We can continue in that repository.