{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://example.com/recipe.json", "title": "Recipe", "description": "Recipe", "type": "object", "required": [ "title" ], "additionalProperties": false, "properties": { "title": { "type": "string" }, "ingredients": { "type": "array", "items": { "$id": "https://example.com/ingredient.json", "type": "object", "additionalProperties": false, "required": [ "name" ], "properties": { "name": { "type": "string" }, "amount": { "type": "number" }, "unit": { "type": "string" }, "or": { "items": { "$ref": "/ingredient.json" } }, "note": { "type": "string" } } } }, "steps": { "type": "array", "items": { "type": "string" } }, "parts": { "type": "array", "items": { "$ref": "/recipe.json" } } } }