- From: Gregg Kellogg <gregg@greggkellogg.com>
- Date: Mon, 9 Sep 2013 18:00:21 -0700
- To: Ka-Sing Chou <ka-sing@quantumspork.nl>
- Cc: Jarno van Driel <jarno@quantumspork.nl>, "public-linked-json@w3.org" <public-linked-json@w3.org>
- Message-Id: <A0E739C7-A3AF-4674-B9F7-2A74149E90DA@greggkellogg.com>
On Sep 9, 2013, at 5:48 PM, Ka-Sing Chou <ka-sing@quantumspork.nl> wrote: > Omg, thanks for answering all those questions, here is one more: > > > "witness schema.org's problems with deploying a JSON-LD context at http://schema.org/" > > I have heard this remark a couple of times before but I don't completely grasp what it means. Could you elaborate on what "schema.org doesn't have a JSON-lD context" means? According to schema.org, including JSON-LD in HTML should be done using the script tag with type application/ld+json, and the JSON should include a @context of http://schema.org/, something like this: { "@context": "http://schema.org/" "@id": "http://greggkellogg.net/foaf#", "name": "Gregg Kellogg", ... } This tells a JSON-LD processor to dereference the context and apply that when interpreting the JSON-LD content. Right now, if you dereference http://schema.org/, no matter what ACCEPT header you use, you will always get back the HTML page. When a JSON-LD processor does this dereference, it always uses application/ld+json, to allow the target to participate in content-negotiation, and return a suitable result; this should be a JSON-LD context, which sets the vocabulary to http://schema.org/, and provides a number of type coercions for different defined terms (e.g., "url" should be an IRI, not a string). I know this is on their list of things to do, and until it is done, JSON-LD processes will either not interpret this correctly, or will need to rely on out-of-band information to know how to process the information. Gregg > On Tue, Sep 10, 2013 at 2:21 AM, Ka-Sing Chou <ka-sing@quantumspork.nl> wrote: > What about this: <link rel="alternate" type="application/ld+json" href="[JSONLD_URL]"> > instead of this: <script rel="alternate" type="application/ld+json" scr="[JSONLD_URL]"></script> > > I was like... if XML's (feeds) can have an alternate representation of a certain page, why can't JSON-LD do the same? Because, somehow inline JSON-LD doesn't make sense to me, I mean... what are the advantages to represent same data within a HTML document twice (JSON-LD + structured data)? In my opinion, this will only add more page size and loading time. > The second thought I had was, why don't we serve JSON-LD or HTML depending on the expect-headers? So instead of including it by means of a <script> or <link> tag, we skip the HTML all together and directly have a server respond with the correct format. By doing this, it requires applications, such as search engines, less effort to retrieve the same content without being forced to parse it twice. > > > On Mon, Sep 9, 2013 at 8:28 AM, Gregg Kellogg <gregg@greggkellogg.com> wrote: > On Sep 8, 2013, at 5:03 PM, Ka-Sing Chou <ka-sing@quantumspork.nl> wrote: > >> Dear all, >> >> The last few days, I have been busy with the correctness of my JSON-LD format (thanks Gregg ^^). Now I got the correct format, is there any way to tell searchengines that my website uses JSON-LD? >> I don't know if I am correct but I read (git issues) something like this: >> >> If my url is https://www.seoprovider.nl/seo-pakketten/mkb-geavanceerd/ >> and my JSON-LD is located at https://www.seoprovider.nl/seo-pakketten/mkb-geavanceerd.jsonld >> can't I use something like this: >> >> <script type="application/ld+json" src="https://www.seoprovider.nl/seo-pakketten/mkb-geavanceerd.jsonld"></script> >> >> or should I include the content of the JSON-LD within the script tag after I defined the data-context (which makes the HTML-document bigger)? > > I can't speak for the search engines, but I believe you want to include your JSON-LD within the script tag, using content-type="application/ld+json" rather than reference it in an external file. Of course, you could also maintain the external version, and use a rel="alternate" to reference it, and a server-side include to include the body with a script tag. > > Google's webmaster tools might help you with this. > > Gregg > >> Let me know. >> -- >> Kind regards and big thanks in advance, >> >> Ka-Sing Chou > > > > > -- > Met vriendelijke groet, > > Ka-Sing Chou > 06 - 54 76 30 81 > ka-sing@quantumspork.nl > > > > -- > Met vriendelijke groet, > > Ka-Sing Chou > 06 - 54 76 30 81 > ka-sing@quantumspork.nl
Received on Tuesday, 10 September 2013 01:00:54 UTC