- From: Kingsley Idehen <kidehen@openlinksw.com>
- Date: Tue, 17 Feb 2015 20:19:15 -0500
- To: public-vocabs@w3.org
- Message-ID: <54E3E893.2010706@openlinksw.com>
On 2/17/15 6:30 PM, Gregg Kellogg wrote:
>> On Feb 17, 2015, at 1:34 PM, Kingsley Idehen <kidehen@openlinksw.com
>> <mailto:kidehen@openlinksw.com>> wrote:
>>
>> On 2/17/15 12:53 PM, Gregg Kellogg wrote:
>>>> On Feb 17, 2015, at 8:12 AM, Niklas Lindström <lindstream@gmail.com
>>>> <mailto:lindstream@gmail.com>> wrote:
>>>>
>>>>
>>>> On Tue, Feb 17, 2015 at 4:20 PM, Jarno van Driel
>>>> <jarnovandriel@gmail.com <mailto:jarnovandriel@gmail.com>> wrote:
>>>>
>>>> I noticed that the @context value in the JSON-LD examples on
>>>> schema.org <http://schema.org/>'s site are noted as:
>>>>
>>>> "@context": "http://schema.org <http://schema.org/>",
>>>>
>>>> Where "http://schema.org <http://schema.org/>" doesn't contain
>>>> a trailing slash.
>>>>
>>>> Yet when I look at the official specs
>>>> (http://www.w3.org/TR/json-ld/) I see all values do contain a
>>>> trailing slash, eg:
>>>>
>>>> "@context": {
>>>> "@vocab": "http://schema.org/"
>>>> }
>>>>
>>>> Now to me it seems that urls without a trailing slash would
>>>> resolve in urls like for example schema.orgArticle as opposed
>>>> to schema.org/Article <http://schema.org/Article>, which makes
>>>> me wonder whether or not the slash matters for the @context.
>>>>
>>>> Any thoughts?
>>>>
>>>>
>>>> The difference is that a @context value (if it is a string)
>>>> represents a URL to a context definition. This is mechanically
>>>> dereferenced before anything is interpreted. The @vocab value on
>>>> the other hand, is used syntactically to construct URIs by
>>>> concatenating it with local terms (as you describe).
>>>
>>> Exactly. Some sites will force a redirect if the URL does not end in
>>> a "/", but schema.org <http://schema.org/> does not, so in this case
>>> it doesn't really matter. For other uses, this could result in a
>>> redirect, but a conforming JSON-LD processor will handle this
>>> transparently.
>>>
>>> Gregg
>>>
>>
>> Gregg,
>>
>> This heuristic needs some clear emphasis in the JSON-LD specs related
>> docs, if that isn't the case already.
>>
>> "@context": "http://schema.org <http://schema.org/>" isn't good
>> practice, having users depend on processors to support such a
>> heuristic (consistently) will be problematic.
>>
>> Does it really hurt anyone to state:
>>
>> "@context": "http://schema.org <http://schema.org/>/" ?
>
> This isn't a JSON-LD heuristic, but a general web server mechanism to
> handle ill-formed URLs.
> As it happens, although it's common practice, http://schema.org is not
> a valid URL, as it doesn't have a path component. However, it's common
> practice for web servers to handle such URLs by normalizing them, in
> this case, by adding a trailing '/'. Some servers do this by
> redirecting the agent to the proper resource, it seems that schema.org
> <http://schema.org> simply returns the expected resource.
>
> JSON-LD simply follows redirects when requesting resources, as most
> any other HTTP agent would do (such as a web browser).
The "JSON-LD" mention lead to my JSON-LD spec comment.
>
> Of course, it's always good practice to use well-formed URLs, which
> means that "@context": "http://schema.org/" is correct, but practice
> shows that this doesn't end up mattering.
It does matter.
Being precise always trumps being imprecise, in the hope that some
heuristic is global :)
Kingsley
>
> The JSON-LD API does not call this out specifically, as that's part of
> HTTP, although there is a brief mention of recording the eventual
> redirected URL due to redirects [1]. There are numerous tests on
> handling remote documents that JSON-LD processors must pass to be
> considered conformant.
>
> [1]
> http://www.w3.org/TR/json-ld-api/#remote-document-and-context-retrieval
>> --
>> Regards,
>>
>> Kingsley Idehen
>> Founder & CEO
>> OpenLink Software
>> Company Web:http://www.openlinksw.com
>> Personal Weblog 1:http://kidehen.blogspot.com
>> Personal Weblog 2:http://www.openlinksw.com/blog/~kidehen
>> Twitter Profile:https://twitter.com/kidehen
>> Google+ Profile:https://plus.google.com/+KingsleyIdehen/about
>> LinkedIn Profile:http://www.linkedin.com/in/kidehen
>> Personal WebID:http://kingsley.idehen.net/dataspace/person/kidehen#this
>
--
Regards,
Kingsley Idehen
Founder & CEO
OpenLink Software
Company Web: http://www.openlinksw.com
Personal Weblog 1: http://kidehen.blogspot.com
Personal Weblog 2: http://www.openlinksw.com/blog/~kidehen
Twitter Profile: https://twitter.com/kidehen
Google+ Profile: https://plus.google.com/+KingsleyIdehen/about
LinkedIn Profile: http://www.linkedin.com/in/kidehen
Personal WebID: http://kingsley.idehen.net/dataspace/person/kidehen#this
Attachments
- application/pkcs7-signature attachment: S/MIME Cryptographic Signature
Received on Wednesday, 18 February 2015 01:19:38 UTC