{"action":"created","comment":{"url":"https://api.github.com/repos/ga4gh/schemas/pulls/comments/46174821","id":46174821,"diff_hunk":"@@ -10,20 +10,117 @@ Goals and Scope\n \n The metadata API provides information on the primary data objects\n available via the GA4GH API, and facilities to organize primary data\n-objects.\n+objects. Main goals of the metadata definitions are to provide\n \n-The current metadata API is immature and will evolve in future.\n+* standardized use of common attributes/values\n+* a schema of how (core) objects relate to each other\n \n+The  metadata API is under continuous development.\n \n-Datasets\n-@@@@@@@@\n \n+Common Attribute Names and Formats\n+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n \n-All GA4GH data objects are part of a *dataset*. A dataset is a\n+Throughout the schema definitions, a consistent use of common attributes should\n+be enforced. The following list should serve as guidance for schema developers.\n+\n+\n+========================= ======================================================\n+Attribute                 Note\n+========================= ======================================================\n+id                        the objects ID, used for references; (at least) locally unique\n+name                      a more descriptive object label or legacy ID; should *not* be used as reference\n+accessions                an ``ARRAY`` containing other names, IDs, URIs of the object\n+description               a string describing aspects of the object; *not* a list or nested object itself\n+recordCreateTime          time at which this record was created in ISO 8601 (see **Date and Time...**)\n+recordUpdateTime          time at which this record was updated in ISO 8601 (see **Date and Time...**)\n+========================= ======================================================\n+\n+Date and Time Format Specifications\n+@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\n+\n+Date and time formats are specified as ISO8601 compatible strings, both for\n+time points as well as for intervals and durations.\n+The required granularity has to be specified as part of the respective\n+attributes' documentations.\n+\n+===========\n+Time points\n+===========\n+\n+The specification of a time point is given through the concatenation of\n+\n+* a date in YYYY-MM-DD\n+* the designator \"T\" indicating a following time description\n+* the time of day in HH:MM:SS.SSS form, where \"SSS\" represents a decimal fraction of a second\n+* a time zone offset in relation to UTC\n+\n+**Examples**\n+\n+* year (YYYY)\n+    2015\n+\n+* date (e.g. date of birth) in YYYY-MM-DD\n+    2015-02-10\n+\n+* time stamp in milliseconds in YYYY-MM-DDTHH:MM:SS.SSS\n+    2015-02-10T00:03:42.123Z\n+\n+**Implementations**\n+\n+* recordCreateTime (G2P, metadata)\n+* recordUpdateTime (G2P, metadata)\n+* many proposed in the metadata branch\n+\n+===========\n+Durations\n+===========\n+\n+Durations are a specific form of intervals, without reference to time points.\n+They are indicated with a leading \"P\", followed by unit delimited\n+quantifiers. A leading \"T\" is required before the start of the time components.\n+Durations do not have to be normalized; \"PT50H\" is equally valid as \"P2T2H\".\n+\n+**Examples**\n+\n+* age in years in PnY\n+    P44Y\n+\n+* age in years and months in PnYnM\n+    P44Y08M\n+\n+* short time interval (e.g. 30min in experimental time series) in PTnM\n+    PT30M\n+\n+==============\n+Time intervals\n+==============\n+\n+Time intervals consist of a combination of two time designators. These can be\n+either two time points for start and end, or one time point and a leading\n+(time point indicates end) or trailing (time point indicates start) duration.\n+The time elements are separated by a forward slash \"/\".\n+\n+**Examples**\n+\n+* age with date of birth in YYYY-MM-DD/PnYnMnD\n+    1967-11-21/P40Y10M05D\n+\n+* anchored 3 month interval, e.g. a therapy cycle in YYYY-MM-DD/YYYY-MM-DD\n+    2015-04-18/2015-07-17\n+\n+* experimental intervention of 30min in YYYY-MM-DDTHH:MM/YYYY-MM-DDTHH:MM\n+    2014-12-31T23H45M/2015-01-01T00H15M\n+\n+\n+Object: Dataset\n+@@@@@@@@@@@@@@@\n+\n+GA4GH data objects can be part of one or several *dataset*(s). A dataset is a\n data-provider-specified collection of related data of multiple types.","path":"doc/source/api/metadata.rst","position":110,"original_position":116,"commit_id":"b8e7386acc41b71983e978d5aacf384b9104e9c4","original_commit_id":"dadf6ac9f8c34999c7b5152690fd5d9834182606","user":{"login":"diekhans","id":110053,"avatar_url":"https://avatars.githubusercontent.com/u/110053?v=3","gravatar_id":"","url":"https://api.github.com/users/diekhans","html_url":"https://github.com/diekhans","followers_url":"https://api.github.com/users/diekhans/followers","following_url":"https://api.github.com/users/diekhans/following{/other_user}","gists_url":"https://api.github.com/users/diekhans/gists{/gist_id}","starred_url":"https://api.github.com/users/diekhans/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/diekhans/subscriptions","organizations_url":"https://api.github.com/users/diekhans/orgs","repos_url":"https://api.github.com/users/diekhans/repos","events_url":"https://api.github.com/users/diekhans/events{/privacy}","received_events_url":"https://api.github.com/users/diekhans/received_events","type":"User","site_admin":false},"body":"This needs to be discussed.  i believe the original design is that every object belong to one and only one data set.","created_at":"2015-11-30T17:33:34Z","updated_at":"2015-11-30T17:33:34Z","html_url":"https://github.com/ga4gh/schemas/pull/506#discussion_r46174821","pull_request_url":"https://api.github.com/repos/ga4gh/schemas/pulls/506","_links":{"self":{"href":"https://api.github.com/repos/ga4gh/schemas/pulls/comments/46174821"},"html":{"href":"https://github.com/ga4gh/schemas/pull/506#discussion_r46174821"},"pull_request":{"href":"https://api.github.com/repos/ga4gh/schemas/pulls/506"}}},"pull_request":{"url":"https://api.github.com/repos/ga4gh/schemas/pulls/506","id":52152867,"html_url":"https://github.com/ga4gh/schemas/pull/506","diff_url":"https://github.com/ga4gh/schemas/pull/506.diff","patch_url":"https://github.com/ga4gh/schemas/pull/506.patch","issue_url":"https://api.github.com/repos/ga4gh/schemas/issues/506","number":506,"state":"open","locked":false,"title":"Update metadata.rst","user":{"login":"mbaudis","id":675030,"avatar_url":"https://avatars.githubusercontent.com/u/675030?v=3","gravatar_id":"","url":"https://api.github.com/users/mbaudis","html_url":"https://github.com/mbaudis","followers_url":"https://api.github.com/users/mbaudis/followers","following_url":"https://api.github.com/users/mbaudis/following{/other_user}","gists_url":"https://api.github.com/users/mbaudis/gists{/gist_id}","starred_url":"https://api.github.com/users/mbaudis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbaudis/subscriptions","organizations_url":"https://api.github.com/users/mbaudis/orgs","repos_url":"https://api.github.com/users/mbaudis/repos","events_url":"https://api.github.com/users/mbaudis/events{/privacy}","received_events_url":"https://api.github.com/users/mbaudis/received_events","type":"User","site_admin":false},"body":"Cleaning up some errors / wrong descriptions (e.g. every object belongs to one \"Dataset\", which had never been defined thusly), and adding of some format definitions.","created_at":"2015-11-30T17:20:24Z","updated_at":"2015-11-30T17:33:34Z","closed_at":null,"merged_at":null,"merge_commit_sha":"958ed0d729f24bd9050bb161dabfa25e6d225c2c","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/ga4gh/schemas/pulls/506/commits","review_comments_url":"https://api.github.com/repos/ga4gh/schemas/pulls/506/comments","review_comment_url":"https://api.github.com/repos/ga4gh/schemas/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ga4gh/schemas/issues/506/comments","statuses_url":"https://api.github.com/repos/ga4gh/schemas/statuses/b8e7386acc41b71983e978d5aacf384b9104e9c4","head":{"label":"ga4gh:mbaudis-medata-documentation-fix","ref":"mbaudis-medata-documentation-fix","sha":"b8e7386acc41b71983e978d5aacf384b9104e9c4","user":{"login":"ga4gh","id":6921777,"avatar_url":"https://avatars.githubusercontent.com/u/6921777?v=3","gravatar_id":"","url":"https://api.github.com/users/ga4gh","html_url":"https://github.com/ga4gh","followers_url":"https://api.github.com/users/ga4gh/followers","following_url":"https://api.github.com/users/ga4gh/following{/other_user}","gists_url":"https://api.github.com/users/ga4gh/gists{/gist_id}","starred_url":"https://api.github.com/users/ga4gh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ga4gh/subscriptions","organizations_url":"https://api.github.com/users/ga4gh/orgs","repos_url":"https://api.github.com/users/ga4gh/repos","events_url":"https://api.github.com/users/ga4gh/events{/privacy}","received_events_url":"https://api.github.com/users/ga4gh/received_events","type":"Organization","site_admin":false},"repo":{"id":17925227,"name":"schemas","full_name":"ga4gh/schemas","owner":{"login":"ga4gh","id":6921777,"avatar_url":"https://avatars.githubusercontent.com/u/6921777?v=3","gravatar_id":"","url":"https://api.github.com/users/ga4gh","html_url":"https://github.com/ga4gh","followers_url":"https://api.github.com/users/ga4gh/followers","following_url":"https://api.github.com/users/ga4gh/following{/other_user}","gists_url":"https://api.github.com/users/ga4gh/gists{/gist_id}","starred_url":"https://api.github.com/users/ga4gh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ga4gh/subscriptions","organizations_url":"https://api.github.com/users/ga4gh/orgs","repos_url":"https://api.github.com/users/ga4gh/repos","events_url":"https://api.github.com/users/ga4gh/events{/privacy}","received_events_url":"https://api.github.com/users/ga4gh/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ga4gh/schemas","description":"Work on data models and APIs for Genomic data.","fork":false,"url":"https://api.github.com/repos/ga4gh/schemas","forks_url":"https://api.github.com/repos/ga4gh/schemas/forks","keys_url":"https://api.github.com/repos/ga4gh/schemas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ga4gh/schemas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ga4gh/schemas/teams","hooks_url":"https://api.github.com/repos/ga4gh/schemas/hooks","issue_events_url":"https://api.github.com/repos/ga4gh/schemas/issues/events{/number}","events_url":"https://api.github.com/repos/ga4gh/schemas/events","assignees_url":"https://api.github.com/repos/ga4gh/schemas/assignees{/user}","branches_url":"https://api.github.com/repos/ga4gh/schemas/branches{/branch}","tags_url":"https://api.github.com/repos/ga4gh/schemas/tags","blobs_url":"https://api.github.com/repos/ga4gh/schemas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ga4gh/schemas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ga4gh/schemas/git/refs{/sha}","trees_url":"https://api.github.com/repos/ga4gh/schemas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ga4gh/schemas/statuses/{sha}","languages_url":"https://api.github.com/repos/ga4gh/schemas/languages","stargazers_url":"https://api.github.com/repos/ga4gh/schemas/stargazers","contributors_url":"https://api.github.com/repos/ga4gh/schemas/contributors","subscribers_url":"https://api.github.com/repos/ga4gh/schemas/subscribers","subscription_url":"https://api.github.com/repos/ga4gh/schemas/subscription","commits_url":"https://api.github.com/repos/ga4gh/schemas/commits{/sha}","git_commits_url":"https://api.github.com/repos/ga4gh/schemas/git/commits{/sha}","comments_url":"https://api.github.com/repos/ga4gh/schemas/comments{/number}","issue_comment_url":"https://api.github.com/repos/ga4gh/schemas/issues/comments{/number}","contents_url":"https://api.github.com/repos/ga4gh/schemas/contents/{+path}","compare_url":"https://api.github.com/repos/ga4gh/schemas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ga4gh/schemas/merges","archive_url":"https://api.github.com/repos/ga4gh/schemas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ga4gh/schemas/downloads","issues_url":"https://api.github.com/repos/ga4gh/schemas/issues{/number}","pulls_url":"https://api.github.com/repos/ga4gh/schemas/pulls{/number}","milestones_url":"https://api.github.com/repos/ga4gh/schemas/milestones{/number}","notifications_url":"https://api.github.com/repos/ga4gh/schemas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ga4gh/schemas/labels{/name}","releases_url":"https://api.github.com/repos/ga4gh/schemas/releases{/id}","created_at":"2014-03-20T00:13:40Z","updated_at":"2015-11-24T16:18:44Z","pushed_at":"2015-11-30T17:33:09Z","git_url":"git://github.com/ga4gh/schemas.git","ssh_url":"git@github.com:ga4gh/schemas.git","clone_url":"https://github.com/ga4gh/schemas.git","svn_url":"https://github.com/ga4gh/schemas","homepage":"http://ga4gh.org/#/api","size":12998,"stargazers_count":163,"watchers_count":163,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":85,"mirror_url":null,"open_issues_count":124,"forks":85,"open_issues":124,"watchers":163,"default_branch":"master"}},"base":{"label":"ga4gh:master","ref":"master","sha":"25d28850e19d92b5ee904722d819364424758015","user":{"login":"ga4gh","id":6921777,"avatar_url":"https://avatars.githubusercontent.com/u/6921777?v=3","gravatar_id":"","url":"https://api.github.com/users/ga4gh","html_url":"https://github.com/ga4gh","followers_url":"https://api.github.com/users/ga4gh/followers","following_url":"https://api.github.com/users/ga4gh/following{/other_user}","gists_url":"https://api.github.com/users/ga4gh/gists{/gist_id}","starred_url":"https://api.github.com/users/ga4gh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ga4gh/subscriptions","organizations_url":"https://api.github.com/users/ga4gh/orgs","repos_url":"https://api.github.com/users/ga4gh/repos","events_url":"https://api.github.com/users/ga4gh/events{/privacy}","received_events_url":"https://api.github.com/users/ga4gh/received_events","type":"Organization","site_admin":false},"repo":{"id":17925227,"name":"schemas","full_name":"ga4gh/schemas","owner":{"login":"ga4gh","id":6921777,"avatar_url":"https://avatars.githubusercontent.com/u/6921777?v=3","gravatar_id":"","url":"https://api.github.com/users/ga4gh","html_url":"https://github.com/ga4gh","followers_url":"https://api.github.com/users/ga4gh/followers","following_url":"https://api.github.com/users/ga4gh/following{/other_user}","gists_url":"https://api.github.com/users/ga4gh/gists{/gist_id}","starred_url":"https://api.github.com/users/ga4gh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ga4gh/subscriptions","organizations_url":"https://api.github.com/users/ga4gh/orgs","repos_url":"https://api.github.com/users/ga4gh/repos","events_url":"https://api.github.com/users/ga4gh/events{/privacy}","received_events_url":"https://api.github.com/users/ga4gh/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ga4gh/schemas","description":"Work on data models and APIs for Genomic data.","fork":false,"url":"https://api.github.com/repos/ga4gh/schemas","forks_url":"https://api.github.com/repos/ga4gh/schemas/forks","keys_url":"https://api.github.com/repos/ga4gh/schemas/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ga4gh/schemas/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ga4gh/schemas/teams","hooks_url":"https://api.github.com/repos/ga4gh/schemas/hooks","issue_events_url":"https://api.github.com/repos/ga4gh/schemas/issues/events{/number}","events_url":"https://api.github.com/repos/ga4gh/schemas/events","assignees_url":"https://api.github.com/repos/ga4gh/schemas/assignees{/user}","branches_url":"https://api.github.com/repos/ga4gh/schemas/branches{/branch}","tags_url":"https://api.github.com/repos/ga4gh/schemas/tags","blobs_url":"https://api.github.com/repos/ga4gh/schemas/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ga4gh/schemas/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ga4gh/schemas/git/refs{/sha}","trees_url":"https://api.github.com/repos/ga4gh/schemas/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ga4gh/schemas/statuses/{sha}","languages_url":"https://api.github.com/repos/ga4gh/schemas/languages","stargazers_url":"https://api.github.com/repos/ga4gh/schemas/stargazers","contributors_url":"https://api.github.com/repos/ga4gh/schemas/contributors","subscribers_url":"https://api.github.com/repos/ga4gh/schemas/subscribers","subscription_url":"https://api.github.com/repos/ga4gh/schemas/subscription","commits_url":"https://api.github.com/repos/ga4gh/schemas/commits{/sha}","git_commits_url":"https://api.github.com/repos/ga4gh/schemas/git/commits{/sha}","comments_url":"https://api.github.com/repos/ga4gh/schemas/comments{/number}","issue_comment_url":"https://api.github.com/repos/ga4gh/schemas/issues/comments{/number}","contents_url":"https://api.github.com/repos/ga4gh/schemas/contents/{+path}","compare_url":"https://api.github.com/repos/ga4gh/schemas/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ga4gh/schemas/merges","archive_url":"https://api.github.com/repos/ga4gh/schemas/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ga4gh/schemas/downloads","issues_url":"https://api.github.com/repos/ga4gh/schemas/issues{/number}","pulls_url":"https://api.github.com/repos/ga4gh/schemas/pulls{/number}","milestones_url":"https://api.github.com/repos/ga4gh/schemas/milestones{/number}","notifications_url":"https://api.github.com/repos/ga4gh/schemas/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ga4gh/schemas/labels{/name}","releases_url":"https://api.github.com/repos/ga4gh/schemas/releases{/id}","created_at":"2014-03-20T00:13:40Z","updated_at":"2015-11-24T16:18:44Z","pushed_at":"2015-11-30T17:33:09Z","git_url":"git://github.com/ga4gh/schemas.git","ssh_url":"git@github.com:ga4gh/schemas.git","clone_url":"https://github.com/ga4gh/schemas.git","svn_url":"https://github.com/ga4gh/schemas","homepage":"http://ga4gh.org/#/api","size":12998,"stargazers_count":163,"watchers_count":163,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":85,"mirror_url":null,"open_issues_count":124,"forks":85,"open_issues":124,"watchers":163,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/ga4gh/schemas/pulls/506"},"html":{"href":"https://github.com/ga4gh/schemas/pull/506"},"issue":{"href":"https://api.github.com/repos/ga4gh/schemas/issues/506"},"comments":{"href":"https://api.github.com/repos/ga4gh/schemas/issues/506/comments"},"review_comments":{"href":"https://api.github.com/repos/ga4gh/schemas/pulls/506/comments"},"review_comment":{"href":"https://api.github.com/repos/ga4gh/schemas/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ga4gh/schemas/pulls/506/commits"},"statuses":{"href":"https://api.github.com/repos/ga4gh/schemas/statuses/b8e7386acc41b71983e978d5aacf384b9104e9c4"}}}}