Dunno if this would be of interest to anyone here, but came across this documentation on Solid Project “conventions” while digging through some of the recent work DFC is doing with Solid:
And I’m not sure how much the shared use of the term “convention” is just serendipity, not necessarily denoting the same thing, but seemed like it was at least worth exploring given the two projects share an ultimate aim as well.
Oh I wanted to post this somewhere also.
I was talking to chatGPT about the benefits of JSON Schema versus JSON-LD and RDF. It was a very very helpful conversation I’d suggest anyone read who’s trying to understand this stuff:
https://chat.openai.com/share/13d15bc9-c30e-4fb9-a960-6ecdf2e5ddbb
Don’t want this to get buried, but this is the appropriate place.
We talked to Ben Hutton, one of the JSON Schema maintainers, and also asked on their Slack channel a few questions. They were super helpful in supplying some reference examples of those linking JSON Schema to JSON-LD definitions.
Just pasting the discussion here directly, I think it’s worth it. I think the Swagger link is especially compelling.
Hey all, just chatted with @relequestual (Ben Hutton) and discussed use annotations to extract out JSON LD contexts. In short, we have a community (agricultural technology developers) who are interested in having common vocabulary terms so that we have better data comparability emerging from the many data sources.Has anyone used annotations to extract out JSON LD contexts before, and if so is there an implementation to share?
7 replies
Jason mentioned a draft spec for adding keywords to JSON Schema to allow you to build JSON-LD context (if I understand correctly)…
Tracker: draft-polli-restapi-ld-keywords-02 - REST API Linked Data Keywords
This example from the latest draft: REST API Linked Data Keywords
Shows how, using additional keywords in the schema, you can attach the context to the instance, and then use JSON-LD tooling to transform.I think there could be a different but similar approach to achieve the same result using just the annotations mechanic.
IETF Datatracker
This document defines two keywords to provide semantic information in OpenAPI Specification and JSON Schema documents, and support contract-first semantic schema design.
This document defines two
keywords to provide semantic information in
OpenAPI Specification and JSON Schema documents,
and support contract-first semantic schema design.
@Roberto Polli is the author of that I-D. He might have some practical experience and/or tooling he can share.
Hi @Greg Austic, you can see this simple OAS editor that resolves reference using the Italian sparql endpoint Swagger Editor
While the repo GitHub - ioggstream/draft-polli-restapi-ld-keywords: OpenAPI keywords for Linked Data contains a basic python implementation
ioggstream/draft-polli-restapi-ld-keywords
OpenAPI keywords for Linked Data
Website
Stars
15
Added by GitHub
PS. Thanks @Jason Desrosiers for the ping
@relequestual (Ben Hutton) Yeah, I worked on basic JSON-LD extraction through annotations at some point. It is not complete, but it was also very simple: extract annotations using the standard output formats and have a small program that parses that, gets the JSON-LD annotations, and puts it back at the right places of the instance
Wow @Roberto Polli I love that documentation! @Octavio look at the swagger docs - it can nicely interpret and present both JSON LD and JSON Schema all in one go. Thanks everyone for your feedback.
@Greg Austic Yes, and it’s still a preliminary implementation. We expect to integrate - at a certain point - the OAS editor we have here Italian API Guidelines Checker with the semantic viewer that queries the sparql endpoint.
If you are interested in contributing implementations or PR repos, let me know!
That would be great. Let me read through everything to see yo which event we can unify efforts.