w3c / controller-document

Controller Documents
https://w3c.github.io/controller-document/
Other
5 stars 7 forks source link

Delete unnecessary Context Injection section #68

Closed selfissued closed 1 month ago

selfissued commented 2 months ago

https://www.w3.org/TR/2024/WD-controller-document-20240817/#context-injection Since Controller Documents have no requirement to use JSON-LD, describing treatment of @context values is inappropriate and unnecessary in this specification. Please delete this section.

iherman commented 2 months ago

This issue should be closed if and when #68 is merged.

msporny commented 2 months ago

For implementations that choose to use JSON-LD, context injection is important. -1 for removing it. We can make context injection specific for applications that use JSON-LD.

iherman commented 2 months ago

We can make context injection specific for applications that use JSON-LD.

That statement contradicts your previous '-1'. Anything related to context injection has to be defined by the application that decides to use JSON-LD with these vocabulary terms.

This specification, from a linked data perspective, only defines a set of RDF terms. These terms are oblivious to the particular serialization that is chosen; JSON-LD is merely one of them.

msporny commented 2 months ago

That statement contradicts your previous '-1'

I don't see the contradiction, please help me see it. :)

This specification, from a linked data perspective, only defines a set of RDF terms.

Hmm, no, it doesn't just do that. It's not purely a data model specification. The specification defines a set of properties (that can also be mapped to RDF terms) and how to process them. It defines a "conforming processor" and therefore defines algorithms that conforming processors use, and one of those algorithms is around context injection.

filip26 commented 2 months ago

This specification, from a linked data perspective, only defines a set of RDF terms. These terms are oblivious to the particular serialization that is chosen; JSON-LD is merely one of them.

JSON-LD is not just a serialization format. JSON-LD is also used as a processing data model or is used as an input to initialize an internal model. We would end up with endless mapping from/to generic RDF, otherwise. Iron VC and other libs/apps (I work on/I'm aware) use a form of expanded/flattened JSON-LD as an internal data model.

@context injection is essential to JSON-LD based processors.

BigBlueHat commented 2 months ago

@context injection is essential to JSON-LD based processors.

And maybe @selfissued's concern is that an implementation not making use of the @context value would somehow need to do this injection without a reason to?

It's not exactly "inappropriate" as community/implementation specific.

To support the widest compatibility across communities and implementation approaches, context injections is necessary...for those for whom it's necessary. So it should definitely stay in the specification, but may just need some polish to narrow who needs to do it and when.

iherman commented 2 months ago

@filip26 @BigBlueHat I am lazy, and I do not want to repeat the same arguments as what I have just put into the comment in https://github.com/w3c/controller-document/pull/43#issuecomment-2324716579. We should probably try to avoid discussion overlaps...

msporny commented 1 month ago

PR #92 has been raised to address this issue. This issue will be closed once PR #92 has been merged.

msporny commented 1 month ago

PR #92 has been merged, closing.