Dataset

如果您以结构化数据的形式提供数据集的支持信息(如名称、说明、创建者和分发格式),会使数据集更容易找到。Google 的数据集发现方法利用了 schema.org 和其他元数据标准,这些标准可以添加到用来描述数据集的网页。此标记的目的是改进对来自生命科学、社会科学、机器学习、民众和政府数据等领域的数据集的发现方法。您可以使用数据集搜索工具查找数据集。

数据集搜索示例

下面列举了一些示例来说明哪些内容能算作数据集:

  • 包含某些数据的表格或 CSV 文件
  • 组织有序的表格集合
  • 采用专有格式的文件,其中包含数据
  • 可共同构成某个有意义数据集的一组文件
  • 包含其他格式的数据的结构化对象,您可能希望将其加载到特殊工具中进行处理
  • 捕获数据的图像
  • 与机器学习相关的文件,如训练的参数或神经网络结构定义
  • 任何在您看来像数据集的内容

如何添加结构化数据

结构化数据是一种提供网页相关信息并对网页内容进行分类的标准化格式。如果您不熟悉结构化数据,可以详细了解结构化数据的工作原理

下面概述了如何构建、测试和发布结构化数据。如需获得向网页添加结构化数据的分步指南,请查看结构化数据 Codelab

  1. 添加必要属性。如需了解如何在网页上放置结构化数据,请观看 JSON-LD 结构化数据:网页上的插入位置
  2. 遵循指南
  3. 使用富媒体搜索结果测试验证您的代码。
  4. 部署一些包含结构化数据的网页,然后使用网址检查工具测试 Google 看到的网页样貌。请确保您的网页可供 Google 访问,不会因 robots.txt 文件、noindex 标记或登录要求而被屏蔽。如果网页看起来没有问题,您可以请求 Google 重新抓取您的网址
  5. 为了让 Google 随时了解日后发生的更改,我们建议您提交站点地图Search Console Sitemap API 可以帮助您自动执行此操作。

我们的数据集发现方法

我们可以通过 schema.org 数据集标记或以 W3C数据目录词汇表 (DCAT) 格式表示的等效结构,理解网页中关于数据集的结构化数据。我们还在探索如何基于 W3C CSVW 针对结构化数据提供实验性支持,并希望随着数据集说明最佳做法的出现,不断改进和调整我们的方法。如需详细了解我们的数据集发现方法,请参阅使数据集更易于发现

示例

以下是在富媒体搜索结果测试中使用 JSON-LD 和 schema.org 语法(首选)的数据集示例。同样的 schema.org 词汇表也可用于 RDFa 1.1 或微数据语法。 您还可以使用 W3C DCAT 词汇表描述元数据。以下示例基于实际数据集说明

JSON-LD

下面是一个 JSON-LD 格式的数据集示例:


  <html>
  <head>
    <title>NCDC Storm Events Database</title>
    <script type="application/ld+json">
    {
      "@context":"https://schema.org/",
      "@type":"Dataset",
      "name":"NCDC Storm Events Database",
      "description":"Storm Data is provided by the National Weather Service (NWS) and contain statistics on...",
      "url":"https://catalog.data.gov/dataset/ncdc-storm-events-database",
      "sameAs":"https://gis.ncdc.noaa.gov/geoportal/catalog/search/resource/details.page?id=gov.noaa.ncdc:C00510",
      "identifier": ["https://doi.org/10.1000/182",
                     "https://identifiers.org/ark:/12345/fk1234"],
      "keywords":[
         "ATMOSPHERE > ATMOSPHERIC PHENOMENA > CYCLONES",
         "ATMOSPHERE > ATMOSPHERIC PHENOMENA > DROUGHT",
         "ATMOSPHERE > ATMOSPHERIC PHENOMENA > FOG",
         "ATMOSPHERE > ATMOSPHERIC PHENOMENA > FREEZE"
      ],
      "license" : "https://creativecommons.org/publicdomain/zero/1.0/",
      "hasPart" : [
        {
          "@type": "Dataset",
          "name": "Sub dataset 01",
          "description": "Informative description of the first subdataset...",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        },
        {
          "@type": "Dataset",
          "name": "Sub dataset 02",
          "description": "Informative description of the second subdataset...",
          "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
        }
      ],
      "creator":{
         "@type":"Organization",
         "url": "https://www.ncei.noaa.gov/",
         "name":"OC/NOAA/NESDIS/NCEI > National Centers for Environmental Information, NESDIS, NOAA, U.S. Department of Commerce",
         "contactPoint":{
            "@type":"ContactPoint",
            "contactType": "customer service",
            "telephone":"+1-828-271-4800",
            "email":"ncei.orders@noaa.gov"
         }
      },
      "includedInDataCatalog":{
         "@type":"DataCatalog",
         "name":"data.gov"
      },
      "distribution":[
         {
            "@type":"DataDownload",
            "encodingFormat":"CSV",
            "contentUrl":"http://www.ncdc.noaa.gov/stormevents/ftp.jsp"
         },
         {
            "@type":"DataDownload",
            "encodingFormat":"XML",
            "contentUrl":"http://gis.ncdc.noaa.gov/all-records/catalog/search/resource/details.page?id=gov.noaa.ncdc:C00510"
         }
      ],
      "temporalCoverage":"1950-01-01/2013-12-18",
      "spatialCoverage":{
         "@type":"Place",
         "geo":{
            "@type":"GeoShape",
            "box":"18.0 -65.0 72.0 172.0"
         }
      }
    }
    </script>
  </head>
  <body>
  </body>
</html>
RDFa

下面是一个使用 DCAT 词汇表的 RDFa 格式的数据集示例:


<article about="/node/1234" typeof="dcat:Dataset">
    <dl>
      <dt>Name:</dt>
      <dd property="dc:title">ACME Inc Cash flow data</dd>
      <dt>Identifiers:</dt>
      <dd property="dc:identifier">https://doi.org/10.1000/182</dd>
      <dd property="dc:identifier">https://identifiers.org/ark:/12345/fk1234</dd>
      <dt>Description:</dt>
      <dd property="dc:description">Financial Statements - Consolidated Statement of Cash Flows</dd>
      <dt>Category:</dt>
      <dd rel="dc:subject">Financial</dd>
      <dt class="field-label">Downloads:</dt>
      <dd>
        <ul>
          <li>
            <a rel="dcat:distribution" href="Consolidated_Statement_of_Cash_Flows_en.csv"><span property="dcat:mediaType" content="text/csv" >Consolidated_Statement_of_Cash_Flows_en.csv</span></a>
          </li>
         <li>
            <a rel="dcat:distribution"  href="files/Consolidated_Statement_of_Cash_Flows_en.xls"><span property="dcat:mediaType" content="application/vnd.ms-excel">Consolidated_Statement_of_Cash_Flows_en.xls</span></a>
          </li>
          <li>
            <a rel="dcat:distribution"  href="files/consolidated_statement_of_cash_flows_en.xml"><span property="dcat:mediaType" content="application/xml">consolidated_statement_of_cash_flows_en.xml</span></a>
          </li>
        </ul>
      </dd>
    </dl>
  </article>

指南

网站应遵循结构化数据指南。除了结构化数据指南之外,我们还建议您遵循下列站点地图以及来源和出处最佳做法。

站点地图最佳做法

您可以使用 Sitemap 文件帮助 Google 找到您的网址。使用 Sitemap 文件和 sameAs 标记有助于记录在您的整个网站中如何发布数据集说明。

如果您有数据集存储区,那么很可能至少有两种类型的网页:每个数据集的规范网页(“着陆页”)以及列出多个数据集的网页(例如,搜索结果或数据集的某个子集)。我们建议您将有关数据集的结构化数据添加到规范网页。如果您将结构化数据添加到数据集的多个副本(如搜索结果页中的列表),请使用 sameAs 属性链接到规范网页。

来源和出处最佳做法

开放数据集往往会重新发布、进行汇总并以其他数据集为基础。在某些情况下,一个数据集是另一个数据集的副本或基于另一个数据集,下面给出了一个初步的大纲,大体概括了我们表示这些情况的方法。

  • 如果数据集或说明是在其他地方发布的材料的简单翻版,请使用 sameAs 属性指示原始数据集或说明的最规范网址。sameAs 的值需要明确指明数据集的身份 - 换句话说,两个不同的数据集不应使用与 sameAs 值相同的网址。
  • 如果重新发布的数据集(包括其元数据)发生了显著的变化,请使用 isBasedOn 属性。
  • 如果某个数据集源自多个原始数据集或是对多个原始数据集的汇总,请使用 isBasedOn 属性。
  • 使用 identifier 属性附加任何相关的数字对象标识符 (DOI) 或紧凑型标识符。如果数据集具有多个标识符,请重复 identifier 属性。如果使用 JSON-LD,则使用 JSON 列表语法表示。

我们希望根据反馈改进我们的建议,特别是关于出处、版本控制以及与时间序列出版物关联的日期的说明。请加入社区讨论

文字属性建议

我们建议限定所有文字属性均不超过 5000 个字符。Google 数据集搜索仅使用所有文字属性的前 5000 个字符。名称和标题通常是几个单词或一个短句。

已知错误和警告

您可能会在 Google 的结构化数据测试工具和其他验证系统中遇到错误或警告。具体来说,验证系统可能会建议组织应该设置联系信息,包括 contactType;有用的值包括 customer serviceemergencyjournalistnewsroompublic engagement。您也可以忽略关于 csvw:Table(它是 mainEntity 属性的意外值)的错误。

结构化数据类型定义

若要使您的内容能够显示为富媒体搜索结果,您必须为其添加必需的属性。您还可添加建议的属性,以便添加与您的内容相关的更多信息,进而提供更好的用户体验。

您可以使用结构化数据测试工具验证您的标记。

重点是描述有关数据集(其元数据)的信息并表示其内容。例如,数据集元数据可以指明数据集的具体内容、测量的变量、创建者,等等。但它不包含诸如变量的特定值之类的内容。

Dataset

如需了解 Dataset 的完整定义,请访问 schema.org/Dataset

您可以描述有关数据集出版物的其他信息,如许可、发布时间及其 DOI,也可以使用 sameAs 属性指向其他存储区中数据集的规范版本。请为提供出处和许可信息的数据集添加 identifierlicensesameAs

必需的属性
description Text

描述数据集的简短摘要。

指南

  • 摘要的长度必须介于 50 到 5000 个字符之间。
  • 摘要可能包括 Markdown 语法。嵌入的图片需要使用绝对路径网址(而不是相对路径)。
  • 使用 JSON-LD 格式时,请用 \n 表示新行(两个字符:反斜杠和小写字母“n”)。
name Text

数据集的描述性名称。例如,“北半球积雪深度”。

建议的属性
alternateName Text

引用此数据集所用的备用名称,如别名或缩写。示例(采用 JSON-LD 格式):


"name": "The Quick, Draw! Dataset"
"alternateName": ["Quick Draw Dataset", "quickdraw-dataset"]
creator PersonOrganization

相应数据集的创建者或作者。如需对个人进行唯一标识,请使用 ORCID ID 作为 Person 类型的 sameAs 属性的值。如需对机构和组织进行唯一标识,请使用 ROR ID。示例(采用 JSON-LD 格式):


"creator": [
    {
        "@type": "Person",
        "sameAs": "http://orcid.org/0000-0000-0000-0000",
        "givenName": "Jane",
        "familyName": "Foo",
        "name": "Jane Foo"
    },
    {
        "@type": "Person",
        "sameAs": "http://orcid.org/0000-0000-0000-0001",
        "givenName": "Jo",
        "familyName": "Bar",
        "name": "Jo Bar"
    },
    {
        "@type": "Organization",
        "sameAs": "http://ror.org/xxxxxxxxx",
        "name": "Fictitious Research Consortium"
    }
]
citation TextCreativeWork

除数据集本身外,还标识所引用的数据提供商建议的学术文章。将数据集本身的引用与其他属性一起提供,如 nameidentifiercreatorpublisher 属性。例如,此属性可以唯一标识相关学术出版物,例如数据描述符、数据论文或使用此数据集作为其补充资料的文章。示例(采用 JSON-LD 格式):


"citation": "https://doi.org/10.1111/111"

"citation": "https://identifiers.org/pubmed:11111111"

"citation": "https://identifiers.org/arxiv:0111.1111v1"

"citation":
 "Doe J (2014) Influence of X ... https://doi.org/10.1111/111"

其他指南

  • 请勿使用此属性提供有关数据集本身的引用信息。它旨在标识相关的学术文章,而不是数据集本身。若要提供引用数据集本身所必需的信息,请改为使用 nameidentifiercreatorpublisher 属性。
  • 使用引用片段填充引用属性时,请尽可能提供文章标识符(例如 DOI)。

    建议 "Doe J (2014) Influence of X. Biomics 1(1). https://doi.org/10.1111/111"

    不建议"Doe J (2014) Influence of X. Biomics 1(1)."

hasPartisPartOf URLDataset

如果数据集是较小数据集的集合,请使用 hasPart 属性表示这种关系。反之,如果数据集是较大数据集的一部分,请使用 isPartOf。这两种属性都可采用网址或 Dataset 实例的形式。如果将 Dataset 用作值,则必须包含独立的 Dataset 所需的所有属性。示例:


"hasPart" : [
  {
    "@type": "Dataset",
    "name": "Sub dataset 01",
    "description": "Informative description of the first subdataset...",
    "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
  },
  {
    "@type": "Dataset",
    "name": "Sub dataset 02",
    "description": "Informative description of the second subdataset...",
    "license" : "https://creativecommons.org/publicdomain/zero/1.0/"
  }
]

"isPartOf" : "https://example.com/aggregate_dataset"
identifier URLTextPropertyValue

标识符,例如 DOI 或紧凑型标识符。如果数据集具有多个标识符,请重复 identifier 属性。如果使用 JSON-LD,则使用 JSON 列表语法表示。

keywords Text

总结数据集的关键字。

license URLCreativeWork

分发数据集所依据的许可。例如:


"license" : "https://creativecommons.org/publicdomain/zero/1.0/"

"license" : {
  "@type": "CreativeWork",
  "name": "Custom license",
  "url": "https://example.com/custom_license"
  }

其他指南

  • 提供明确标识所用许可的特定版本的网址。

    建议

    
    "license" : "https://creativecommons.org/licenses/by/4.0"

    不建议

    
    "license" : "https://creativecommons.org/licenses/by"
sameAs URL

明确指明数据集身份的参考网页对应的网址,通常位于其他代码库中。

spatialCoverage TextPlace

您可以提供单个地点,从空间方面对数据集进行描述。仅当数据集具有空间维度时,才应添加此属性。例如,收集所有测量值时所在的单个地点,或某个区域的边界框的坐标。


"spatialCoverage:" {
  "@type": "Place",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 39.3280,
    "longitude": 120.1633
  }
}

形状

使用 GeoShape 来描述不同形状的区域。例如,指定边界框。


"spatialCoverage:" {
  "@type": "Place",
  "geo": {
    "@type": "GeoShape",
    "box": "39.3280 120.1633 40.445 123.7878"
  }
}

boxcirclelinepolygon 属性中的点必须表示为空间分隔的两对值,对应于纬度和经度(按此顺序)。

带名称的地点


"spatialCoverage:" "Tahoe City, CA"
temporalCoverage Text

数据集中的数据涵盖特定的时间间隔。仅当数据集具有时间维度时,才应添加此属性。Schema.org 使用 ISO 8601 标准来描述时间间隔和时间点。您可以采用不同的方式来描述日期,具体取决于数据集的时间间隔。用两个小数点 (..) 表示开放式时间间隔。

单个日期


"temporalCoverage" : "2008"

时间段


"temporalCoverage" : "1950-01-01/2013-12-18"

开放式时间段


"temporalCoverage" : "2013-12-19/.."
variableMeasured TextPropertyValue

相应数据集测量的变量。例如,温度或压力。

version TextNumber

数据集的版本号。

url URL

描述数据集的网页的位置。

DataCatalog

如需了解 DataCatalog 的完整定义,请访问 schema.org/DataCatalog

发布某些数据集的存储区往往包含许多其他数据集。同一数据集可以包含在多个这样的存储区中。您可以通过直接引用该数据集来引用它所属的数据目录。

建议的属性
includedInDataCatalog DataCatalog

数据集所属的目录。

DataDownload

如需了解 DataDownload 的完整定义,请访问 schema.org/DataDownload。除了数据集属性之外,您还可以为提供下载选项的数据集添加以下属性。

distribution 属性描述如何获取数据集本身,因为网址通常指向描述数据集的着陆页。此外,distribution 属性还描述获取数据的位置和格式。此属性可以有多个值:例如,使用一个网址分发 CSV 版本,而使用另一个网址分发 Excel 版本。

必需的属性
distribution.contentUrl URL

下载链接。

建议的属性
distribution DataDownload

数据集的下载位置和下载文件格式的说明。

distribution.encodingFormat TextURL

分发的文件格式。

表格数据集

表格数据集是一种主要以由行和列组成的网格的形式组织而成的数据集。对于嵌入表格数据集的网页,您还可以基于上述基本方法创建更明确的标记。目前,我们了解 CSVW(“网络上的 CSV”,请参阅 W3C)的一种变体,它与 HTML 网页上面向用户的表格内容并行提供。

下面是一个以 CSVW JSON-LD 格式编码的小表格示例。富媒体搜索结果测试中存在一些已知错误

使用 Search Console 监控富媒体搜索结果

Search Console 是一款工具,可帮助您监控网页在 Google 搜索结果中的显示效果。即使没有注册 Search Console,您的网页也可能会显示在 Google 搜索结果中,但注册 Search Console 能够帮助您了解 Google 如何查看您的网站并做出相应的改进。建议您在以下情况下查看 Search Console:

  1. 首次部署结构化数据后
  2. 发布新模板或更新代码后
  3. 定期分析流量时

首次部署结构化数据后

等 Google 将网页编入索引后,请在相关的富媒体搜索结果状态报告中查看是否存在问题。 理想情况下,您应该会看到有效网页数增加了,但错误数或警告数没有增加。如果您发现结构化数据存在问题,请执行以下操作:

  1. 修正错误
  2. 检查实际网址,核实问题是否仍然存在。
  3. 使用状态报告请求验证

发布新模板或更新代码后

对网站进行重大更改后,请监控结构化数据的错误数和警告数是否增加了。
  • 如果您发现错误增多了,可能是因为您推出的某个新模板无法正常工作,或者您的网站以一种新的错误方式与现有模板交互。
  • 如果您发现有效内容项减少了(但错误数的增加情况并不对应),可能是因为您的网页中未再嵌入结构化数据。请通过网址检查工具了解导致此问题的原因。

定期分析流量时

请使用效果报告分析您的 Google 搜索流量。数据将显示您的网页在 Google 搜索结果中显示为富媒体搜索结果的频率、用户点击该网页的频率以及网页在搜索结果中的平均排名。您还可以使用 Search Console API 自动提取这些结果。

问题排查

如果您在实施结构化数据时遇到问题,请查看下面列出的一些实用资源。