Issue 118 graph framing#438
Conversation
|
See the formatted document for easier review. |
|
I don't have much time to do a thorough review, but it's based off of the experimental work I was doing -- and making sure this supports the main use cases will require implementing it anyway. I support merging this PR. The main case I'm concerned with is being able to produce a structure like this: {
"@context": "...",
"id": "person1",
"type": "IdentityProfile",
"credential": [{
"@graph": {
"id": "cred1",
"claim": {
"id": "person1",
"ageOver": 21
},
"signature": { ... }
}, {
"@graph": {
"id": "cred2",
"claim": {
"id": "person1",
"passport": { ... },
},
"signature": { ... }
}
}]
}This use case is about being able to receive an "IdentityProfile" in any format and then restructure it via framing for signature verification. The "IdentityProfile" consists of a set of credentials, each one containing verifiable claims about the subject of the IdentityProfile -- and the integrity of each must be preserved as an independent graph to enable proper verification of the signatures. Once the signatures have been checked, regular (merged) framing could also be used on this input to produce a utilitarian, merged view of the "person1" node containing all of the various properties from the verifiable claims. |
|
If you have some concrete input data and frame, we can add this as a test to make sure it works. Post a gist with some input and I can create a framing test for it. |
|
@gkellogg -- I'll post a gist of some concrete input when I get a chance. |
This PR closes #118, adding support for named graphs when framing, and allows framing to use either the merged graph or the default graph. It also adds an algorithm for creating the merged node set.