{"action":"created","issue":{"url":"https://api.github.com/repos/libris/whelk-core/issues/2","repository_url":"https://api.github.com/repos/libris/whelk-core","labels_url":"https://api.github.com/repos/libris/whelk-core/issues/2/labels{/name}","comments_url":"https://api.github.com/repos/libris/whelk-core/issues/2/comments","events_url":"https://api.github.com/repos/libris/whelk-core/issues/2/events","html_url":"https://github.com/libris/whelk-core/issues/2","id":175448479,"number":2,"title":"Specify provenance data for Document","user":{"login":"niklasl","id":29803,"avatar_url":"https://avatars.githubusercontent.com/u/29803?v=3","gravatar_id":"","url":"https://api.github.com/users/niklasl","html_url":"https://github.com/niklasl","followers_url":"https://api.github.com/users/niklasl/followers","following_url":"https://api.github.com/users/niklasl/following{/other_user}","gists_url":"https://api.github.com/users/niklasl/gists{/gist_id}","starred_url":"https://api.github.com/users/niklasl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/niklasl/subscriptions","organizations_url":"https://api.github.com/users/niklasl/orgs","repos_url":"https://api.github.com/users/niklasl/repos","events_url":"https://api.github.com/users/niklasl/events{/privacy}","received_events_url":"https://api.github.com/users/niklasl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"niklasl","id":29803,"avatar_url":"https://avatars.githubusercontent.com/u/29803?v=3","gravatar_id":"","url":"https://api.github.com/users/niklasl","html_url":"https://github.com/niklasl","followers_url":"https://api.github.com/users/niklasl/followers","following_url":"https://api.github.com/users/niklasl/following{/other_user}","gists_url":"https://api.github.com/users/niklasl/gists{/gist_id}","starred_url":"https://api.github.com/users/niklasl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/niklasl/subscriptions","organizations_url":"https://api.github.com/users/niklasl/orgs","repos_url":"https://api.github.com/users/niklasl/repos","events_url":"https://api.github.com/users/niklasl/events{/privacy}","received_events_url":"https://api.github.com/users/niklasl/received_events","type":"User","site_admin":false},"assignees":[{"login":"niklasl","id":29803,"avatar_url":"https://avatars.githubusercontent.com/u/29803?v=3","gravatar_id":"","url":"https://api.github.com/users/niklasl","html_url":"https://github.com/niklasl","followers_url":"https://api.github.com/users/niklasl/followers","following_url":"https://api.github.com/users/niklasl/following{/other_user}","gists_url":"https://api.github.com/users/niklasl/gists{/gist_id}","starred_url":"https://api.github.com/users/niklasl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/niklasl/subscriptions","organizations_url":"https://api.github.com/users/niklasl/orgs","repos_url":"https://api.github.com/users/niklasl/repos","events_url":"https://api.github.com/users/niklasl/events{/privacy}","received_events_url":"https://api.github.com/users/niklasl/received_events","type":"User","site_admin":false},{"login":"marma","id":144026,"avatar_url":"https://avatars.githubusercontent.com/u/144026?v=3","gravatar_id":"","url":"https://api.github.com/users/marma","html_url":"https://github.com/marma","followers_url":"https://api.github.com/users/marma/followers","following_url":"https://api.github.com/users/marma/following{/other_user}","gists_url":"https://api.github.com/users/marma/gists{/gist_id}","starred_url":"https://api.github.com/users/marma/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/marma/subscriptions","organizations_url":"https://api.github.com/users/marma/orgs","repos_url":"https://api.github.com/users/marma/repos","events_url":"https://api.github.com/users/marma/events{/privacy}","received_events_url":"https://api.github.com/users/marma/received_events","type":"User","site_admin":false},{"login":"mxtthias","id":187215,"avatar_url":"https://avatars.githubusercontent.com/u/187215?v=3","gravatar_id":"","url":"https://api.github.com/users/mxtthias","html_url":"https://github.com/mxtthias","followers_url":"https://api.github.com/users/mxtthias/followers","following_url":"https://api.github.com/users/mxtthias/following{/other_user}","gists_url":"https://api.github.com/users/mxtthias/gists{/gist_id}","starred_url":"https://api.github.com/users/mxtthias/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mxtthias/subscriptions","organizations_url":"https://api.github.com/users/mxtthias/orgs","repos_url":"https://api.github.com/users/mxtthias/repos","events_url":"https://api.github.com/users/mxtthias/events{/privacy}","received_events_url":"https://api.github.com/users/mxtthias/received_events","type":"User","site_admin":false},{"login":"mskold","id":1243854,"avatar_url":"https://avatars.githubusercontent.com/u/1243854?v=3","gravatar_id":"","url":"https://api.github.com/users/mskold","html_url":"https://github.com/mskold","followers_url":"https://api.github.com/users/mskold/followers","following_url":"https://api.github.com/users/mskold/following{/other_user}","gists_url":"https://api.github.com/users/mskold/gists{/gist_id}","starred_url":"https://api.github.com/users/mskold/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mskold/subscriptions","organizations_url":"https://api.github.com/users/mskold/orgs","repos_url":"https://api.github.com/users/mskold/repos","events_url":"https://api.github.com/users/mskold/events{/privacy}","received_events_url":"https://api.github.com/users/mskold/received_events","type":"User","site_admin":false},{"login":"fontanka16","id":1894384,"avatar_url":"https://avatars.githubusercontent.com/u/1894384?v=3","gravatar_id":"","url":"https://api.github.com/users/fontanka16","html_url":"https://github.com/fontanka16","followers_url":"https://api.github.com/users/fontanka16/followers","following_url":"https://api.github.com/users/fontanka16/following{/other_user}","gists_url":"https://api.github.com/users/fontanka16/gists{/gist_id}","starred_url":"https://api.github.com/users/fontanka16/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fontanka16/subscriptions","organizations_url":"https://api.github.com/users/fontanka16/orgs","repos_url":"https://api.github.com/users/fontanka16/repos","events_url":"https://api.github.com/users/fontanka16/events{/privacy}","received_events_url":"https://api.github.com/users/fontanka16/received_events","type":"User","site_admin":false}],"milestone":null,"comments":3,"created_at":"2016-09-07T08:56:33Z","updated_at":"2016-10-12T11:21:02Z","closed_at":null,"body":"We need to nail down the intended usage (i.e. \"meaning\") of `collection`, `changedIn` and `changedBy` in `Document` & LDDB. Do they represent original datasource and/or an [LDP container](https://www.w3.org/TR/ldp/#ldpc), or something entirely internal? (Also, can the `changed*` and dependent logic be removed, if the Voyager two-way sync mechanism is to be removed?)\r\n\r\nIf they are not internal \"scratch\" data, they need to be modeled and put into the record description. (And become links to proper (collection) resources. See e.g. `id`, `created` and `updated` the `Document` class for how record description data is used by the system itself.)"},"comment":{"url":"https://api.github.com/repos/libris/whelk-core/issues/comments/253186877","html_url":"https://github.com/libris/whelk-core/issues/2#issuecomment-253186877","issue_url":"https://api.github.com/repos/libris/whelk-core/issues/2","id":253186877,"user":{"login":"niklasl","id":29803,"avatar_url":"https://avatars.githubusercontent.com/u/29803?v=3","gravatar_id":"","url":"https://api.github.com/users/niklasl","html_url":"https://github.com/niklasl","followers_url":"https://api.github.com/users/niklasl/followers","following_url":"https://api.github.com/users/niklasl/following{/other_user}","gists_url":"https://api.github.com/users/niklasl/gists{/gist_id}","starred_url":"https://api.github.com/users/niklasl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/niklasl/subscriptions","organizations_url":"https://api.github.com/users/niklasl/orgs","repos_url":"https://api.github.com/users/niklasl/repos","events_url":"https://api.github.com/users/niklasl/events{/privacy}","received_events_url":"https://api.github.com/users/niklasl/received_events","type":"User","site_admin":false},"created_at":"2016-10-12T11:21:02Z","updated_at":"2016-10-12T11:21:02Z","body":"Requirements:\r\n\r\n* `changedIn/datasource` can change over time (when data sources change from import processes to editing through interfaces, and sometime \"back\" if resources are to be batch-processed).\r\n\r\n  Examples of sources: the current Voyager MARC subsets (auth, bib and hold), the 7 or so sets of resources in the definitions repository, import batches or other systems (bibdb, smdb?).\r\n\r\n  There can only be one datasource at a time for a record.\r\n\r\n* `collection` or similar is to be logical and generally fixed, based on the (base) type and/or categorization of the described resources within.\r\n\r\n  There is a common correlation between that and \"source\", and sometimes their \"nature\" is bound to their source (e.g. \"LCSH\", \"SAO\" and \"SAB\"). It can still be computed (as in derived from e.g. type or origin), and may be more of a tag mechanism for systems to simplify processing of richer data. (Cf. [LDP indirect containers](https://www.w3.org/TR/ldp/#ldpic))\r\n\r\n  It is conceivable that a record belongs to more than one collection.\r\n\r\nBased on the varying requirements of stability, the differences need to be considered and the different needs have to depend on the right one (a logically fixed one, based on description content, is commonly needed for e.g. MARC exports, whereas a varying maintenance mechanisms (batch imports and deletions) require more dynamic lookup and changes (based on description management)). \r\n\r\n(Also, a paged collection can be dynamically defined based on simple searches, as is done for e.g. items of an instance held by a specific library (`find?itemOf.@id=<instance>&heldBy.@id=<library>`). (Though, alas, this is done differently in the web view layer and the OAI-PMH view layer). This can include the above notions as well, if they are part of the actual data about the record (and not just internal strings in the lower data layer).)\r\n\r\nWe need to avoid letting our internal mechanisms proliferate when a few core notions can satisfy a wide range of related needs. The `collection` and `changedIn` properties can be formalized and managed as RDF data about a record (a \"gbox\"), and thus utilized for the current and conceivable scenarios ahead. By defining these as proper resources, we can also state provenance data such as date, responsibility and documentation of e.g. purpose."}}
{"actor":{"display_login":"niklasl"}}