reconciliation-api / specs

Specifications of the reconciliation API
https://reconciliation-api.github.io/specs/draft/
33 stars 11 forks source link

Do we need JSON-LD support? If yes, what for? #183

Open acka47 opened 3 days ago

acka47 commented 3 days ago

Until now, JSON-LD came up in:

We probably need to get on the same page about our goals of supporting JSON-LD for the reconciliation API. I am formulating this from my point of view as someone who likes JSON-LD a lot in terms of an extended JSON that enables unambigously identifying the properties/JSON keys used and referencing the documentation for each key. However, until now I mostly have not been persuaded to make investments needed to optimize usage of the JSON-LD data as RDF e.g. by enabling enable reasoning or optimizing for SPARQL queries.

Why JSON-LD?

To get a clearer picture what we are actually talking about, I am distinguishing four levels of JSON-LD adoption which will require different levels of discussion and workload to accomplish. I go from easiest to most complex.

1. We just want the data delivered by Reconciliation endpoints to be valid JSON-LD

2. We also want property/type URIs to resolve

3. We want property and type URIs to resolve to a RDFS/OWL reconciliation vocab

4. We want JSON-LD that can be used as RDF together with an ontology to support reasoning on Reconciliation API payloads (or other Semantic Web magic)

Abbe98 commented 2 days ago

create a JSON-LD context document mapping properties and types to URIs

On my end I would imagine than rather than just map the existing properties and types to new URIs one would adopt existing vocabularies like DCAT(for much of the manifests), Activity Streams/Web Annotations for reconciliation requests, schema.org, etc.

This would allow us to take advantage of so much ecosystem and tooling from day one and completely skip a lot of the adoption that would otherwise be needed.

acka47 commented 2 days ago

On my end I would imagine than rather than just map the existing properties and types to new URIs one would adopt existing vocabularies like DCAT(for much of the manifests), Activity Streams/Web Annotations for reconciliation requests, schema.org, etc.

This would allow us to take advantage of so much ecosystem and tooling from day one and completely skip a lot of the adoption that would otherwise be needed.

Thanks. So, you basically want to create kind of a metadata profile for the reconciliation API based on existing vocabularies. This is definitely something we'd need to discuss. I am also a fan of metadata profiles in an application context or one specifying community profiles. I haven't seen a metadata profile yet for protocols and I assume it will be hard to cover every bit of the reconciliation API with existing RDF properties and classes...

Abbe98 commented 2 days ago

I haven't seen a metadata profile yet for protocols and I assume it will be hard to cover every bit of the reconciliation API with existing RDF properties and classes...

I wouldn't expect that one would be able to cover all of it with existing properties and classes but just getting the basics interoperable would go a long way.

thadguidry commented 1 day ago

Pretty much STEP 6 https://www.w3.org/TR/ld-bp/

Also least we forget: https://www.w3.org/TR/cooluris/ But generally:

But how to be on the Web with this approach? How to enable agents to download more data about resources we mention? There is a best practice to achieve this goal: Provide not only the IFP of the resource (e.g. the person's email address), but also an rdfs:seeAlso property that points to a Web address of an RDF document with further information about it. We see that HTTP URIs are still used to identify the location where more information can be downloaded.