assemblee-virtuelle / assemblee-virtuelle/semapps

Use `Accept-Profile` header instead of `JsonLdContext` ?

Open
#1,204 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
103
Forks
14
Avg merge
1m
Merged PRs (30d)
2

Description

I came accross this article from Ruben Verborgh: https://ruben.verborgh.org/articles/fine-grained-content-negotiation/

It advocates for a new `Accept-Profile` header, which could be the reverse solution of the existing MIME-type/profile combination used in the ActivityStreams spec: https://rubenverborgh.github.io/SDSVoc-2016/#activity-streams

> Because Activity Streams 2.0 can be considered a restricted profile of JSON-LD, Implementations should consider the `application/ld+json; profile="https://www.w3.org/ns/activitystreams"` media type as being equivalent to `application/activity+json`.
> https://www.w3.org/TR/activitystreams-core/#media-type

There is a whole WG working on this notion of profile:
https://www.w3.org/TR/dx-prof-conneg/

> This is distinct from negotiating by Media Type or Language: a profile may specify the content of information returned, which may be a subset of the information the responding server has about the requested resource, and may be structured in a specific way to meet interoperability requirements of a community of practice.

The last part of the sentence is close to what would be required for JSON-LD context.

But I still struggle to understand what they mean by profile. I'm especially wondering if it could fit with custom contexts. The current `JsonLdContext` header accept JSON-stringified arrays or objects.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the current JsonLdContext header behavior, then read the linked Accept-Profile and Activity Streams profile-negotiation references. The issue is done only when the project has a decided, documented approach to whether Accept-Profile supports or replaces custom JSON-LD contexts.

Written by the indexing model from the issue text.

Assessment

Domain
api, backend-api-design
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.