-
Notifications
You must be signed in to change notification settings - Fork 99
Simplify abstract data model and specify one concrete representation #887
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
What does the term "Generalized JSON-LD Processor" means? We have the notion of "JSON-LD Processor" defined by the JSON-LD specification; what do we generalize about it? |
I'm re-using language that we agreed to in the VCWG: https://w3c.github.io/vc-data-model/#dfn-general-json-ld-processing This is language that we're hoping to eventually incorporate into the JSON-LD v1.2 specification so we don't have to keep repeating ourselves in vc-data-model, vc-data-integrity, CID, and DID specs. I thought about linking to VCDM v2.0, should we do that instead? The only concern there is that "type specific credential processing" (for a VC) becomes "DID Method specific DID Document processing" (for a CID/DID document). We really need to get the CID document into the DIDWG so we can make these changes/alignment more easily in the next revision. |
@msporny, reacting on #887 (comment): I have re-read the changes and I still do not really understand what the notion of "Generalized JSON-LD Processing" brings to the table, as opposed to the usage of a JSON-LD Processor which is an existing term in the JSON-LD spec. In the VCDM, where you point to, the term is used in opposition to "Type specific credential processing", which is not relevant here. Personally, I would propose to use the JSON-LD terminology and that is that.
Nobody knows whether this will happen or not, we do not even have a charter for JSON-LD 1.2. We cannot rely on that. And, as I said above, it may not be necessary in the first place.
I do not understand what you mean by that. |
This was discussed during the did meeting on 03 April 2025. |
This was discussed during the did meeting on 03 April 2025. View the transcriptw3c/did#887ottomorac: You've gotten some feedback from Ted in there, and from Ivan -- just be aware of the PR. manu: 887 is a pretty big change. ottomorac: Yes, that explanation makes sense. ottomorac: Seems like we're on the right path forward. manu: I'm probably going to leave it until the call next week to give extra review time. |
index.html
Outdated
also compatible with processors that perform JSON-LD processing. Developers can | ||
use any other [=representation=], such as CBOR or YAML, that is capable of | ||
expressing the <a href="#data-model">data model</a>. The following sections |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
also compatible with processors that perform JSON-LD processing. Developers can | |
use any other [=representation=], such as CBOR or YAML, that is capable of | |
expressing the <a href="#data-model">data model</a>. The following sections | |
also compatible with processors that perform JSON-LD processing. The following sections |
Single representation right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, I've updated the language to say "single" representation and remove the YAML/CBOR statement in e354ce8.
index.html
Outdated
|
||
<section> | ||
<h3>Production</h3> | ||
<h2>Generalized JSON-LD Processors</h2> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed during today's meeting, I find the term "generalized JSON-LD processors" confusing in this context. It seems to imply that those are processors more general than standard JSON-LD processors, which (IIUC) is not what is intended.
From @msporny 's explanations during today's meeting, I think that "general JSON-LD processors" (a wording that is used twice in the paragraph!) or "generic JSON-LD processors" would better convey the intended meaning.
<h2>Generalized JSON-LD Processors</h2> | |
<h2>General JSON-LD Processors</h2> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would have a preference to use the term "Generic" (if we really want to qualify it). That term suggests using the processor as defined (presumably in a standard) whereas the term "General" might mean that there is also a "Specialized" JSON-LD Processor. And that is not the case; there are JSON processors that do not try to interpret @context
but just consider it as a bona fide JSON key, but that does not qualify to refer to them as JSON-LD processors in the first place.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like "Generic"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"General" implies contrasting "Special".
"Generic" implies contrasting "Specific".
"Generalized" implies contrasting "Specialized".
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ended up dropping "Generic/General/Generalized" and just said "standard JSON-LD Processing algorithms" or "JSON-LD Processing using standards-compliant libraries" since it felt cleaner. Hope that works for everyone.
index.html
Outdated
[=representation=] [=production=] rules as defined in [[[#json]]]. | ||
[[JSON-LD11|JSON-LD]] is a JSON-based format used to serialize | ||
<a href="http://www.w3.org/TR/ld-glossary/#linked-data">Linked Data</a>. Some | ||
implementations are expected to process [=DID documents=] using generalized |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
implementations are expected to process [=DID documents=] using generalized | |
implementations are expected to process [=DID documents=] using general |
per my suggestion above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
And, to be in sync with myself, I would use "generic" :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I ended up dropping "Generic/General/Generalized" and just said "standard JSON-LD Processing algorithms" or "JSON-LD Processing using standards-compliant libraries" since it felt cleaner.
This was discussed during the #did meeting on 17 April 2025. View the transcriptSimplify abstract data model and specify one concrete representation<ottomorac> w3c/did#887 ottomorac: this one is -- so, we said we'd try to eliminate the abstract data model, and follow the CID spec (establishing the algorithm) manu: good summary, I think I said that I'd leave this open til this week, and if we didn't get more feedback, we'll merge it in manu: Marcus, I tried to re-do the image (the diagram) markus_sabadello: I used LibreOffice Draw I think? manu: source files would be good, we should check it into version control markus_sabadello: yeah, I ran into some problems as well manu: yeah, just raise a PR to check in the source files JoeAndrieu: there's a line in there that implies CBOR and YAML that are valid representations, and I think that's not quite accurate anymore manu: ok, sounds good JoeAndrieu: if you wanted to include something like "Internal representations could use other formats", I could support that. As long as we're clear that the thing going over the wire needs to be JSON manu: I see ok manu: I'm trying to head off comments on "CBOR is illegal" etc. JoeAndrieu: well that's the point though - it's not a legal over-the-wire representation pchampin: I thought I'd put a comment on the PR, but looks like not manu: yeah, this is where this PR is difficult ivan: to me, the term 'generalized JSON-LD processing' at that point doesn't bring anything <pchampin> in fact, the text says twice "generalIZED json-ld processing" and twice "general json-ld processing"; I prefer the second wording <Zakim> manu, you wanted to note that Dave has strong feelings about this. :) manu: Dave Longley had some pretty strong feelings about this, I'd hesitate to change it but as long as the outcome is semantically the same, that's important ivan: ok, let's move it to the PR discussion manu: if there's a better language we can use.. hopefully this is a future JSON-LD WG discussion ottomorac: thanks, we'll come back to this. |
c464f6a
to
251840e
Compare
Editorial, multiple reviews, changes requested and made, no objections, merging. |
This PR is an attempt to address issue #855 by simplifying the abstract data model down to INFRA and specifying a single concrete JSON representation.
Note: We are currently in maintenance mode, which means that we cannot make any class 4 changes (change normative statements in ways that are not backwards compatible). That has hampered a more straightforward PR and required some normative acrobatics given that I couldn't remove previous normative statements. Please keep this in mind as you review as some wording is painfully contrived due to our maintenance mode status with this specification.
Preview | Diff