Skip to content
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

Replacement of the diagrams (figure 6 and 8), and their descriptions #1321

Closed
wants to merge 1 commit into from

Conversation

iherman
Copy link
Member

@iherman iherman commented Oct 19, 2023

Both Figure 6 and Figure 8, and their corresponding description in the text, are incorrect and misleading insofar as to where a graph is used and where it isn't. This PR proposes alternative diagrams for both, as well changes in the corresponding descriptions.

Note that we may have to consider making a distinction in the terminology for a "collection of claims", which has no additional structure, and a "graph", that has a distinct identity in the RDF sense. I know this may lead to some editorial complexity, but the misunderstanding between, on the one hand, just a loose combination of claims (a.k.a. RDF statements) and, on the other hand, a (named) graph in the RDF sense was the source of several confusions in the past, and the figures were just a reflection of that confusion. That being said, the proposed changes are all in an informative section (hence my labeling set to post CR), and maybe there is no need for further changes elsewhere.

(As an aside, the diagrams are deliberately poor in colours, to make them usable for dark mode presentation style.)

Alas! the official, generated preview below is not usable here, because it does not include the diagrams. Please, use the preview on githack instead.


Preview | Diff

@iherman iherman added editorial Purely editorial changes to the specification. clarification Non-normative clarifications of spec text post-CR labels Oct 19, 2023
@iherman iherman requested a review from dlongley October 19, 2023 15:27
@iherman iherman self-assigned this Oct 19, 2023
@iherman iherman changed the title Replacement of the diagrams (figure 6 and 8), and their description Replacement of the diagrams (figure 6 and 8), and their descriptions Oct 19, 2023
@iherman
Copy link
Member Author

iherman commented Oct 20, 2023

Note that we may have to consider making a distinction in the terminology for a "collection of claims", which has no additional structure, and a "graph", that has a distinct identity in the RDF sense. I know this may lead to some editorial complexity, but the misunderstanding between, on the one hand, just a loose combination of claims (a.k.a. RDF statements) and, on the other hand, a (named) graph in the RDF sense was the source of several confusions in the past, and the figures were just a reflection of that confusion. That being said, the proposed changes are all in an informative section (hence my labeling set to post CR), and maybe there is no need for further changes elsewhere.

Alternatively... we can continue using the terminology of a graph everywhere (instead of this loose term of "collection of claims"), in which case we can also refer to a "Verifiable Credential Graph" §4.11.1 in the description (and we would have to make this explicit in Figure 6, too). However, I believe that, to make it proper, we have to bring in the terminology of a default graph. I.e., if a JSON-LD document expresses a verifiable credential, then the Verifiable Credential Graph is its default graph (which clearly separates it from the proof graph). If the document expresses a Verifiable Presentation, then the Verifiable Credential Graphs are "created" by virtue of using the verifiableCredential property, whose definition in the @context is such that its value is a named graph (incidentally, these named graphs have all blank nodes as a "name", but that is a detail). Note that we also have then a Verifiable Presentation Graph (which is the default graph of the relevant document).

By using this terminology, things may become clearer. I know we wanted to hide the complexity of RDF Datasets but this seems to backfire, so maybe we have to add this term into the spec.

Note that this makes the definition of proof, when used on VC/VPs, possibly clearer. Indeed:

  • The proof property, referred to by an object of type Verifiable Credential, is a proof of the corresponding Verifiable Credential Graph
  • The proof property, referred to by an object of type Verifiable Presentation, is a proof of the corresponding Verifiable Presentation Graph, the collection of Verifiable Credential Graphs referred to from the VP, and the Verifiable Credential Proof Graphs, referred to from the aforementioned Verifiable Credentials Graphs.

At this moment, these statements are not clearly defined in the spec imho, which I think is at the core of the discussions in #1248.

@dlongley @msporny

@iherman
Copy link
Member Author

iherman commented Oct 20, 2023

@msporny @dlongley, going along the lines of #1321 (comment) would require more surgery on the VCDM spec. If you agree to go down that route, I am happy to create a separate PR going along those lines (which would supersede this one).

@dlongley
Copy link
Contributor

@iherman,

I do think following comment #1321 (comment) is probably best because it clears up some of the technical details here and highlights how we're relying on default graphs for isolation / separation in documents that either express VPs or VCs.

@iherman
Copy link
Member Author

iherman commented Oct 20, 2023

@iherman,

I do think following comment #1321 (comment) is probably best because it clears up some of the technical details here and highlights how we're relying on default graphs for isolation / separation in documents that either express VPs or VCs.

Ok. I will try to come up with a replacement PR next week.

@iherman iherman added the DO NOT MERGE PR contains something that should not be merged. label Oct 21, 2023
@iherman
Copy link
Member Author

iherman commented Oct 24, 2023

Closing this, without merge, in favor of #1326

@iherman iherman closed this Oct 24, 2023
@msporny msporny deleted the updating-explanatory-figures branch November 11, 2023 16:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
clarification Non-normative clarifications of spec text DO NOT MERGE PR contains something that should not be merged. editorial Purely editorial changes to the specification. post-CR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants