Reputation: 7413
Im pretty new to JSON-LD and am currently struggling making the Google Rich Results Test happy with my custom JSON-LD data.
Every time I use a @context
other than https://schema.org/
it shows me the error Incorrect value type "@context"
.
This even happens with this simple example based on a json-ld.org context:
<script type="application/ld+json">
{
"@context": "https://json-ld.org/contexts/person.jsonld",
"@type": "Person",
"name": "Foo"
}
</script>
After some trail and error I found out that with the following code the json-ld.org/playground shows me the same result if I use @vocab
<script type="application/ld+json">
{
"@context": {"@vocab": "http://xmlns.com/foaf/0.1/"},
"@type": "Person",
"name": "Foo"
}
</script>
And although Google is happy with this code I’m very uncertain if this can or should be the right solution to fix this kind of “Structured data parsing error”?
What is the correct way (that is accepted by Google) to write non-schema.org JSON-LD data?
Upvotes: 8
Views: 675
Reputation: 2615
According to Dan Brickley (Google employee with responsibility for Schema.org) these issues will be addressed or documented for the new validator:
Thanks - noted and acknowledged. The tool is not opensource (it is a view provided by Google's structured data validation infrastructure). I will make sure these issues are addressed or documented before we link the new validator more prominently from Schema.org.
https://github.com/schemaorg/schemaorg/issues/2921#issuecomment-879817283
Upvotes: 1