JSON-LD:报告模式类型的正确语法是什么?

JSON-LD: What is the correct syntax for the Report schema type?

我使用了几个 JSON-LD 格式化工具(Example 1, Example 2, Example 3), but none are so specific as to list the schema type Report, and its property reportNumber. The schema type is documented here,但没有示例。

This page 是一个很有帮助的参考,但我仍然不确定。

所以我想知道下面的语法是否正确,如果不正确需要更改什么:

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "Report",
    "reportNumber": "1234",
    "headline": "Report Headline",
    "description": "Report Description",
    "image": "img.jpg", 
    "author": {
        "@type": "Organization",
        "name": "Org. Name",
        "url": "example.com"
    },  
    "publisher": {
        "@type": "Organization",
        "name": "Org. Name",
        "logo": {
            "@type": "ImageObject",
            "url": "logo.svg"
        }
    },
    "datePublished": "2021-11-24",
    "dateModified": "2021-11-24"
}
</script>

我刚刚将类型 Article 换成了 Report。在我看来 ReportArticle 类型的一个子集,使得 headlinedescription 等属性仍然有效,但此外,使 属性 reportNumber有效。我是 JSON-LD 的新手。

看起来你做得对。在 JSON-LD 中,您可以在其任何子 class 中使用 class 的任何属性。

为了验证您的 JSON-LD,我使用了 Google 的结构化工具 JSON-LD 验证器,可在 https://validator.schema.org/ 获得。我想你以后可能会发现它很有用。

您的代码段以零错误或零警告通过了测试。请小心使用“logo.svg”,因为它是相对的 path.I 会将完整的 URL 添加到您的徽标中。这同样适用于 img.jpg