-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Until now, JSON-LD came up in:
- seven issues: https://github.com/search?q=repo%3Areconciliation-api%2Fspecs+%22JSON-LD%22&type=issues
- three PRs: https://github.com/search?q=repo%3Areconciliation-api%2Fspecs+%22JSON-LD%22&type=pullrequests
- one mail thread: https://lists.w3.org/Archives/Public/public-reconciliation/2024Oct/0005.html
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
- lowest level
- create a JSON-LD context document mapping properties and types to URIs
- add @context link to payloads
- DON'T make property URIs resolvable
- benefits:
- properties have an unambigous IRI as identifier
- JSON-LD tooling can be used on the data (see Proposal: Structured Previews #182 (comment))
- JSON-LD's built-in support for multi-linguality can be used (see e.g. Multilingual support #52, Support for multi-lingual candidate names #138 and Proposal: Structured Previews #182 (comment))
2. We also want property/type URIs to resolve
- This can be accomplished by doing 1.) plus pointing property and type URIs to existing documentation (see Expose matching features for client-side scoring #38 (comment)), e.g. to the respective paragraph in the spec (might involve some reworking of the spec, at least by adding anchors) or the property's JSON schema (would require reworking the schema to have one file per property).
- Benefits: people would be able to access property-/type-level documentation by following links in the payload.
- Drawbacks
- linking to existing documentation is not a common approach as people might expect structured data (more JSON-LD/RDF) when resolving property/type URIs
- I have my doubts that this will be used much as people will have to know about JSON-LD and the context in the first place to follow the context link and then the link to the respective property.
3. We want property and type URIs to resolve to a RDFS/OWL reconciliation vocab
- benefit: one overview about all properties and types used in the reconcilation API
- drawback: This will involve creating a third – next to the HTML spec and the JSON schema – separate kind of normative description of the reconciliation API in terms of its vocab. Changes to all three resources will have to be coordinated.
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)
- This probably means putting much more thought into creating the reconciliation vocab/ontology.