{"action":"created","issue":{"url":"https://api.github.com/repos/w3c/vc-data-model/issues/120","repository_url":"https://api.github.com/repos/w3c/vc-data-model","labels_url":"https://api.github.com/repos/w3c/vc-data-model/issues/120/labels{/name}","comments_url":"https://api.github.com/repos/w3c/vc-data-model/issues/120/comments","events_url":"https://api.github.com/repos/w3c/vc-data-model/issues/120/events","html_url":"https://github.com/w3c/vc-data-model/issues/120","id":300192879,"number":120,"title":"IDs Not Differentiated Sufficiently","user":{"login":"David-Chadwick","id":3651839,"avatar_url":"https://avatars0.githubusercontent.com/u/3651839?v=4","gravatar_id":"","url":"https://api.github.com/users/David-Chadwick","html_url":"https://github.com/David-Chadwick","followers_url":"https://api.github.com/users/David-Chadwick/followers","following_url":"https://api.github.com/users/David-Chadwick/following{/other_user}","gists_url":"https://api.github.com/users/David-Chadwick/gists{/gist_id}","starred_url":"https://api.github.com/users/David-Chadwick/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/David-Chadwick/subscriptions","organizations_url":"https://api.github.com/users/David-Chadwick/orgs","repos_url":"https://api.github.com/users/David-Chadwick/repos","events_url":"https://api.github.com/users/David-Chadwick/events{/privacy}","received_events_url":"https://api.github.com/users/David-Chadwick/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":17,"created_at":"2018-02-26T10:57:07Z","updated_at":"2018-02-26T21:33:25Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"Our data model contains several instances of different IDs, but each ID is simply called \"id\" and has no qualifying descriptor. We cannot interpret what the ID refers to as the data model does not contain any descriptive text to tell us. We cannot assume it is the ID of the encapsulating JSON data object, as this is not always the case. Furthermore, with the enhancements that are currently being suggested in order to make the data model more precise and unambiguous, more IDs are currently being added.\r\n\r\nIt is proposed that each occurrence of ID is replaced by a descriptive ID so that it is obvious to the reader (and verifier) to what the ID refers. It would also be helpful to add descriptive text to the data model document to state unambiguously to what each ID refers.\r\n\r\nThus inside a claim (example 1), \"id\" would become \"subjectID\".\r\nInside a profile (no example yet), \"id\" would become \"holderID\"\r\nInside evidence (example 8), \"id\" would become \"evidenceID\"\r\nInside a credential (example 7), \"id\" would become \"credentialID\"\r\nInside credential status (example 4), \"id\" would become \"statusID\"\r\nThe initial \"id\" (all examples) would be replaced by either \"credentialID\" or \"profileID\" so that the type field is used to further refine what sort of credential or profile this is.\r\n"},"comment":{"url":"https://api.github.com/repos/w3c/vc-data-model/issues/comments/368658302","html_url":"https://github.com/w3c/vc-data-model/issues/120#issuecomment-368658302","issue_url":"https://api.github.com/repos/w3c/vc-data-model/issues/120","id":368658302,"user":{"login":"jandrieu","id":186831,"avatar_url":"https://avatars3.githubusercontent.com/u/186831?v=4","gravatar_id":"","url":"https://api.github.com/users/jandrieu","html_url":"https://github.com/jandrieu","followers_url":"https://api.github.com/users/jandrieu/followers","following_url":"https://api.github.com/users/jandrieu/following{/other_user}","gists_url":"https://api.github.com/users/jandrieu/gists{/gist_id}","starred_url":"https://api.github.com/users/jandrieu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jandrieu/subscriptions","organizations_url":"https://api.github.com/users/jandrieu/orgs","repos_url":"https://api.github.com/users/jandrieu/repos","events_url":"https://api.github.com/users/jandrieu/events{/privacy}","received_events_url":"https://api.github.com/users/jandrieu/received_events","type":"User","site_admin":false},"created_at":"2018-02-26T21:33:25Z","updated_at":"2018-02-26T21:33:25Z","author_association":"CONTRIBUTOR","body":"Multiple subjects are already supported. It is innate in the RDF graph model. Every statement has a subject. Each \"claim\" is in fact a RDF graph with multiple subjects, which you can see in Example 16:\r\n\r\n```\r\n   \"claim\": {\r\n      \"id\": \"did:example:ebfeb1f712ebc6f1c276e12ec21\",\r\n      \"name\": \"Alice Bobman\",\r\n      \"birthDate\": \"1985-12-14\",\r\n      \"gender\": \"female\",\r\n      \"nationality\": {\r\n        \"name\": \"United States\"\r\n      }\r\n    }\r\n```\r\nThat is, every property in \"claim\", other than \"id\", is a predicate whose subject is the value of \"id\" and whose object is the value of the property.\r\n\r\n@dlongley or @msporny Can you simply use an array as a value for multiple statements with the same subject & predicate?  E.g., for a person with dual citizenship:\r\n```\r\n   \"claim\": {\r\n    \"id\": \"did:example:ebfeb1f712ebc6f1c276e12ec21\",\r\n    \"name\": \"Alice Bobman\",\r\n    \"birthDate\": \"1985-12-14\",\r\n    \"gender\": \"female\",\r\n    \"nationality\": {\r\n      \"name\": \"United States\"\r\n    },\r\n    \"citizenship\": [{\r\n      \"name\": \"United States\"\r\n    },{\r\n      \"name\": \"Canada\"\r\n    }]\r\n  }\r\n```"}}
{"actor":{"display_login":"jandrieu"}}