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

> On Feb 17, 2015, at 8:12 AM, Niklas Lindström <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/ <http://www.w3.org/TR/json-ld/>) I see all values do contain a trailing slash, eg:
> 
> "@context": {
>     "@vocab": "http://schema.org/ <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 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

> Cheers,
> Niklas

Received on Tuesday, 17 February 2015 17:54:10 UTC