W3C home > Mailing lists > Public > public-vocabs@w3.org > February 2015

Re: JSON-LD onsite examples: are @context values missing a trailing slash?

From: Kingsley Idehen <kidehen@openlinksw.com>
Date: Tue, 17 Feb 2015 16:34:53 -0500
Message-ID: <54E3B3FD.4030800@openlinksw.com>
To: public-vocabs@w3.org
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


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/>/" ?


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

Received on Tuesday, 17 February 2015 21:35:24 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 17 February 2015 21:35:25 UTC