{"action":"created","issue":{"url":"https://api.github.com/repos/ga4gh/schemas/issues/165","labels_url":"https://api.github.com/repos/ga4gh/schemas/issues/165/labels{/name}","comments_url":"https://api.github.com/repos/ga4gh/schemas/issues/165/comments","events_url":"https://api.github.com/repos/ga4gh/schemas/issues/165/events","html_url":"https://github.com/ga4gh/schemas/issues/165","id":46221055,"number":165,"title":"Format of ids for GAOntologyTerm","user":{"login":"cmungall","id":50745,"avatar_url":"https://avatars.githubusercontent.com/u/50745?v=3","gravatar_id":"","url":"https://api.github.com/users/cmungall","html_url":"https://github.com/cmungall","followers_url":"https://api.github.com/users/cmungall/followers","following_url":"https://api.github.com/users/cmungall/following{/other_user}","gists_url":"https://api.github.com/users/cmungall/gists{/gist_id}","starred_url":"https://api.github.com/users/cmungall/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cmungall/subscriptions","organizations_url":"https://api.github.com/users/cmungall/orgs","repos_url":"https://api.github.com/users/cmungall/repos","events_url":"https://api.github.com/users/cmungall/events{/privacy}","received_events_url":"https://api.github.com/users/cmungall/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/ga4gh/schemas/labels/MetadataTaskTeam","name":"MetadataTaskTeam","color":"eb6420"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":31,"created_at":"2014-10-19T23:17:53Z","updated_at":"2015-06-16T18:54:20Z","closed_at":null,"body":"Current docs state:\r\n\r\n```\r\n  /**\r\n  The ID defined by the external onotology source.\r\n  (e.g. `http://purl.obolibrary.org/obo/OBI_0001271`)\r\n  */\r\n  string id;\r\n```\r\n\r\nThis is fairly open ended and we can imagine confusion and inconsistent usage here.\r\n\r\nFor the ontologies currently referenced in the metadata schema, e.g.\r\n\r\n * HP\r\n * UBERON\r\n * CL\r\n * OBI\r\n\r\nTerms are typically referenced in two ways.\r\n\r\n## URIs/IRIs\r\n\r\nFor many biological ontologies these are typically obolibrary purls, which follow:\r\n\r\n    http://purl.obolibrary.org/obo/<IDSPACE>_<NUMERICFRAGMENT>\r\n\r\nSee: http://www.obofoundry.org/id-policy.shtml\r\n\r\n## OBO-Style identifiers\r\n\r\nTypically follow the form\r\n\r\n    <IDSPACE>:<NUMERICFRAGMENT>\r\n\r\n## Options\r\n\r\n1. The schema should mandate URIs only (using the URI form recommended by the source ontology)\r\n2. The schema should mandate OBO-Style IDs\r\n3. The schema should have separate 'id' and 'iri' fields\r\n4. The schema should have a flexible field\r\n\r\nOption 1 is probably the conceptually simplest. Option 2 is not very future proof as it doesn't allow open-ended expansion to any ontology out there on the semantic web. Option 3 is probably overkill.\r\n\r\nI would advocate option 4. To elaborate, we allow the field to contain either a URI or a CURIE (https://en.wikipedia.org/wiki/CURIE see also http://www.w3.org/TR/curie/), without the brackets. We then assume the existence of a number of implicit qname prefixes. E.g.\r\n\r\n```\r\n@prefix UBERON http://purl.obolibrary.org/obo/UBERON_\r\n@prefix CL http://purl.obolibrary.org/obo/CL_\r\n@prefix OBI http://purl.obolibrary.org/obo/OBI_\r\n@prefix NCBITaxon http://purl.obolibrary.org/obo/NCBITaxon_\r\n``` \r\n\r\nThis could potentially live in a separate JSON-LD context file.\r\n\r\nThis is also consistent with the translation in the OBO-Format spec: http://oboformat.googlecode.com/svn/trunk/doc/obo-syntax.html#5.9.1\r\n\r\nI would be happy to branch and make a pull request, but I thought it worthwhile polling for opinions. Need this to be future-proof, consistent - but also not over-engineered.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/ga4gh/schemas/issues/comments/112527919","html_url":"https://github.com/ga4gh/schemas/issues/165#issuecomment-112527919","issue_url":"https://api.github.com/repos/ga4gh/schemas/issues/165","id":112527919,"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},"created_at":"2015-06-16T18:54:20Z","updated_at":"2015-06-16T18:54:20Z","body":"We had some discussions in Leiden (with @mellybelly, @nlwashington, @diekhans). The current majority opinion is to have \"polymorphic\" ways to reference ontologies, and also to include a way to reference/use local ontologies (e.g. if no best fit reference is known/found, or for legacy => convert later etc.). Also, for records like \"disease\" (which has yet to be defined as record type), we found the most sensible way to allow references to multiple ontologies, with one being the primary (doodling here):\r\n\r\n```\r\n  primaryReference ontologyTerm;\r\n  alternativeReferences<array<ontologyTerm>>;\r\n```\r\n\r\nStill, there hasn't been implementation work on the exact format of the ```ontologyTerm``` object; everybody is welcome, regarding the notes above ..."}}