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
Why does the Data Model context file define a DataIntegrityProof RDF class? #1089
Comments
Here are some related contexts we have historically used for data integrity: Here is the vocab term definitions for data integrity RDF Class: Here is the complete security vocabulary: IMO the vc-data-model core context should be restricted to things you MUST understand to implement the spec. However, currently the URL is normative: https://www.w3.org/ns/credentials/v2 While its contents (resolved content) is not. Here are a few things that are sorta "implied to be normative" because of this:
Additionally, "data integrity proofs" can be used without "w3c verifiable credentials" to secure arbitrary JSON... so it makes sense that there should a some other context out there that includes https://w3id.org/security#DataIntegrityProof but does not include https://github.com/w3c/vc-data-model/blob/main/contexts/credentials/v2#L9 . It seems like it might be easier for us to move some of the "proof" related stuff to data integrity and refer to it from the core data model, as opposed to defining it in the core data model normatively... and then actually maintaining it in data integrity and related vocabs:
https://w3c.github.io/vc-data-model/#conformance This is sorta not true, if the v2 context is normatively required: https://w3c.github.io/vc-data-model/#contexts AND It resolves to a non-normative JSON-LD context object that directly includes: It would be better to use a second context to add support for "data integrity proofs" to a VC. This second context would also be useful for applying data integrity proofs to JSON-LD that is not a VC. This second context can of course be built at any point in the future, so we have no need to bundle these data integrity proof specific terms in the current core data model v2 context. Perhaps the following URL would be natural for a data integrity proof context that was not related to W3C Verifiable Credentials: |
The whole argument behind The reason For both of those reasons, |
I agree that proof should stay, it is a defined property of the data model. I am sorry, I still don't understand why The goal of the As an implementer of Data Integrity for VCs, I find the lack of explicit guidance for proper |
There are two contexts that people can use when working with Data Integrity, EITHER:
You don't use both. If you're working with VCs, you simply use 1. If you're not working with VCs, you simply use 2. We should make this explicit in text so that guidance is clear to implementers. |
Okay, that helps a bit. Some guidance to that effect would help a lot. |
Because there are very different kinds of users in the linked data space. However, overall, people do tend to fall into two different groups in DI usage: developers working with VCs and developers working with generalized graph data that needs to be secured. Developers that work with VCs essentially assume a VC-centric ecosystem and write and work with software differently. They often aren't exposed to linked data in the same way that other users are, instead only consuming it as if it were JSON and just using libraries or services to handle the DI parts invisibly. Many of these people don't think about it more deeply than that -- and many do not think about their data as a graph. A significant number of them are, however, aware of the benefits of LD that underlie the data they are working with -- but they just want to use a simple "JSON interface" into the data in all of their applications. VCs solve most of their use cases ... and they approach their use cases as using "VCs" to solve them. This group sees "VCs as the front door". Other developers are solving their use cases using LD -- and they need it to be secured. This is a different mindset and approach. It's natural for them to understand their data as a graph of information and to care significantly less about its concrete serialization. They expect significant LD transformation flexibility. This group sees "LD as the front door". In short, the things you said earlier around Given this natural, general bifurcation of the user base, it makes a lot of sense to cater to both groups. |
That explanation satisfies me. |
I don't feel there has been sufficient discussion, and I don't agree with the proposal to include data integrity terms in the vc data model core context. It is true, PR's attempting to remove certain terms from the v2 context did not gain consensus and were marked pending close: We should probably wait til this PR is closed / addressed before labeling this issue as pending close: |
happy to take this on if we can pull these items out of core context |
also ref #1103 |
Question for the group while building a (some) PR(s) out on this... |
Yes, in particular we have reached higher degree of clarity than we had in v1 or v1.1 The following are now true:
Currently all IRIs in the context that are not explicitly normative in the TR... are.... not normative ... meaning you don't need to understand them... which means you can ignore the |
The issue was discussed in a meeting on 2023-05-17
View the transcript2.3. Why does the Data Model context file define a DataIntegrityProof RDF class? (issue vc-data-model#1089)See github issue vc-data-model#1089. Brent Zundel: I raised this. I'm satisfied, but others are not. Orie Steele: same conversation about separate graphs. Manu Sporny: nothing weird going on here.
Manu Sporny: For example, how languages include things by default that lots of developers use.
Manu Sporny: We can discuss this more, but the reason is not going to change.
Brent Zundel: my inclination is to mark pending close unless someone is willing to be assigned. Michael Prorock: I think the problem is there isn't consensus.
Michael Prorock: I'd prefer that there is a context that just has VCDM terms.
Michael Prorock: I'm willing to be assigned if we can yank this out.
Brent Zundel: reminder we are looking to assign.
Dave Longley: Just to mention some things that make things easier for developers. Not doing those things in hope of avoiding bias just makes it harder for developers.
Ivan Herman: mike, you made a mistake. I commented in IRC. this may be a source of misunderstandings.
Ivan Herman: the context doesn't not define the vocabulary.
Manu Sporny: in an attempt to help mike write something that survives consensus. Remember that we had consensus to add name and description.
Brent Zundel: Manu and Mike are wiling to be assigned. Manu Sporny: not me. Michael Prorock: I'm willing to take the assignment, with help from Manu.
Dave Longley: json-ld contexts bring vocabularies together.
Brent Zundel: closing the conversation on this issue. Ivan Herman: I'm ashamed I can't find the # of my own issue that I raised. Mike, you might want to combine the two. Brent Zundel: 1103. Ivan Herman: I think that the sense of the discussion should be there. There's some editorial work to be done.
Ivan Herman: The same issues with come with the DI spec.
Brent Zundel: I'll leave it up to mprorock_. |
Related to #1149 |
The issue was discussed in a meeting on 2023-06-28
View the transcript2.7. Why does the Data Model context file define a DataIntegrityProof RDF class? (issue vc-data-model#1089)See github issue vc-data-model#1089. Brent Zundel: #1089 - why does context define a DataIntegrityProof RDF class?
Orie Steele: can't be closed because we need to define additional terms in VC context. Another open PR#1149, similar set of issues. What are we making normative with hashed approach is similar. Brent Zundel: Before CR label most appropriate and so labelled. |
The issue was discussed in a meeting on 2023-07-26
View the transcript3.2. Why does the Data Model context file define a DataIntegrityProof RDF class? (issue vc-data-model#1089)See github issue vc-data-model#1089. Manu Sporny: I think we need to keep this issue open as there is no other tracking issue. Brent Zundel: We already have a marker to indicate that the content might change with CR. Do we therefore need a before-CR label? Manu Sporny: Yes, I believe so. I think we should have a before-CR label for implementation requirements. Brent Zundel: I believe the consensus now is to have a 'kitchen sink' model with everything defined centrally.
|
Based on the conversation during the call today, I will close this as soon as the minutes have been added. |
The issue was discussed in a meeting on 2023-08-16
View the transcript2.4. Why does the Data Model context file define a DataIntegrityProof RDF class? (issue vc-data-model#1089)See github issue vc-data-model#1089.
Brent Zundel: I think this issue can be closed.
Manu Sporny: +1 to close.
Brent Zundel: context has lots of stuff in it.
|
The minutes have been added, closing. |
The issue was discussed in a meeting on 2023-08-16
View the transcript2.4. Why does the Data Model context file define a DataIntegrityProof RDF class? (issue vc-data-model#1089)See github issue vc-data-model#1089.
Brent Zundel: I think this issue can be closed.
Manu Sporny: +1 to close.
Brent Zundel: context has lots of stuff in it.
|
Now that Data Integrity is it's own specification, the DataIntegrityProof RDF class in the base data model context should be moved to the Data Integrity context
The text was updated successfully, but these errors were encountered: