{"action":"created","issue":{"url":"https://api.github.com/repos/json-schema/json-schema/issues/81","repository_url":"https://api.github.com/repos/json-schema/json-schema","labels_url":"https://api.github.com/repos/json-schema/json-schema/issues/81/labels{/name}","comments_url":"https://api.github.com/repos/json-schema/json-schema/issues/81/comments","events_url":"https://api.github.com/repos/json-schema/json-schema/issues/81/events","html_url":"https://github.com/json-schema/json-schema/issues/81","id":11574818,"number":81,"title":"URI vocabulary: \"URI\" vs. \"URI reference\"","user":{"login":"awwright","id":437517,"avatar_url":"https://avatars.githubusercontent.com/u/437517?v=3","gravatar_id":"","url":"https://api.github.com/users/awwright","html_url":"https://github.com/awwright","followers_url":"https://api.github.com/users/awwright/followers","following_url":"https://api.github.com/users/awwright/following{/other_user}","gists_url":"https://api.github.com/users/awwright/gists{/gist_id}","starred_url":"https://api.github.com/users/awwright/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awwright/subscriptions","organizations_url":"https://api.github.com/users/awwright/orgs","repos_url":"https://api.github.com/users/awwright/repos","events_url":"https://api.github.com/users/awwright/events{/privacy}","received_events_url":"https://api.github.com/users/awwright/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":15,"created_at":"2013-03-02T11:06:58Z","updated_at":"2016-10-24T06:12:59Z","closed_at":"2016-10-24T06:12:59Z","body":"\"7.2.1.  Valid values\" specifies:\r\n\r\n> The value for this keyword MUST be a string, and MUST be a valid URI. This URI MUST be normalized, and SHOULD NOT be an empty fragment (#) or the empty URI.\r\n\r\nThis is contradictory, either the property value must be an absolute URI (in which case \"#\" would not be a valid URI), or it must be a URI reference (in which case saying the URI MUST be normalized does not make sense).\r\n\r\nThe intent of the URI is clearly to allow a URI reference here:\r\n\r\n> URI references in information retrieval systems are designed to be late-binding: the result of an access is generally determined when it is accessed and may vary over time or due to other aspects of the interaction.  These references are created in order to be used in the future: what is being identified is not some specific result that was obtained in the past, but rather some characteristic that is expected to be true for future results.  In such cases, the resource referred to by the URI is actually a sameness of characteristics as observed over time, perhaps elucidated by additional comments or assertions made by the resource provider.\r\n\r\nAdditionally, all media types I know of allow a URI reference when defining a new base URI. (Including HTTP, XML, Turtle, HTML, JSON-LD, etc.)\r\n\r\nInstead of explicitly prohibiting <#> as a value, it should be noted that <> and <#> defines the same resource, (and link to JSON Reference in doing so), and therefore <#> would not be a valid value (if re-defining existing schemas is to be an error condition).\r\n\r\nIn section \"6.1.  Purpose\":\r\n\r\n> The value of this keyword MUST be a URI [RFC3986] and a valid JSON Reference [json‑reference]; this URI MUST be both absolute and normalized. The resource located at this URI MUST successfully describe itself. It is RECOMMENDED that schema authors include this keyword in their schemas.\r\n\r\nMuch of this is redundant, a URI must already be absolute, though not necessarily normalized. I don't see a problem with this redundancy, though.\r\n\r\nJSON Schema Validation section \"7.3.6.  uri\" does not specify if the \"uri\" format is a URI or a URI reference. While almost all fields for a URI will probably want to be a URI reference, only being able to specify an absolute URI does not make much sense. There should probably be two formats, \"uri\" and \"uriref\" or similar (we should shop around other media types and see what names they use to make the distinction, RFC 3986 uses \"URI\" and \"URI-reference\" respectively).\r\n\r\n... And lots more sections."},"comment":{"url":"https://api.github.com/repos/json-schema/json-schema/issues/comments/255655960","html_url":"https://github.com/json-schema/json-schema/issues/81#issuecomment-255655960","issue_url":"https://api.github.com/repos/json-schema/json-schema/issues/81","id":255655960,"user":{"login":"awwright","id":437517,"avatar_url":"https://avatars.githubusercontent.com/u/437517?v=3","gravatar_id":"","url":"https://api.github.com/users/awwright","html_url":"https://github.com/awwright","followers_url":"https://api.github.com/users/awwright/followers","following_url":"https://api.github.com/users/awwright/following{/other_user}","gists_url":"https://api.github.com/users/awwright/gists{/gist_id}","starred_url":"https://api.github.com/users/awwright/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/awwright/subscriptions","organizations_url":"https://api.github.com/users/awwright/orgs","repos_url":"https://api.github.com/users/awwright/repos","events_url":"https://api.github.com/users/awwright/events{/privacy}","received_events_url":"https://api.github.com/users/awwright/received_events","type":"User","site_admin":false},"created_at":"2016-10-24T06:12:59Z","updated_at":"2016-10-24T06:12:59Z","body":"@handrews You're killing me with all these issues you're resurrecting"}}
{"actor":{"display_login":"awwright"}}