title: Google Structured Data Testing Tool fails to validate type as an alias of @type in JSON-LD with schema.org context
body: <p>If you use e.g. <a href="https://github.com/lanthaler/JsonLD" rel="nofollow">lanthaler/JsonLD</a> to compact JSON-LD data with <code>schema.org</code> context, you will notice that <code>@type</code> keyword is replaced with an alias <code>type</code> in the output, which makes sense given that</p>
  
  <blockquote>
    <p>Schema.org recently added a keyword alias from @type to just type</p>
  </blockquote>
  
  <p>The problem is that Google's <a href="https://developers.google.com/structured-data/testing-tool/" rel="nofollow">Structured Data Testing Tool</a> fails to recognize this alias. Here's a simple example to demonstrate this (try replacing <code>type</code> with <code>@type</code>, and it will pass validation)</p>
  
  <pre><code>{
      "@context": "http://schema.org",
      "type": "Product",
      "name": "SomeName"
  }
  </code></pre>
  
  <p>Which raises a few questions:</p>
  
  <ol>
  <li>Does the fact that testing tool cannot validate this valid markup mean google will ignore it, and it will not affect display in search results?</li>
  <li>If so, is there a way to force <code>lanthaler/JsonLD</code> to avoid replacing <code>@type</code> with <code>type</code> during compaction (ideally without any other side-effects)?</li>
  </ol>