【问题标题】:Adding a 'license' field to a schema.org Place record将“许可”字段添加到 schema.org Place 记录
【发布时间】:2015-07-20 12:07:23
【问题描述】:

我有一个位置数据库,我想将其作为开放数据发布。根据数据的来源,每条记录都可以拥有多个许可证之一,因此每条记录都需要附加许可证。我将数据发布为json-ld。样本记录:

{
  "@context": "http://schema.org",
  "@type": "Place",
  "name": "METROPOLITAN MUSEUM OF ART",
  "address": {
    "@type": "PostalAddress",
    "streetAddress": "1000 5TH AVE",
    "addressLocality": "NEW YORK",
    "addressRegion": "NY",
    "addressCountry": "United States",
    "postalCode": "10028-0198"
  },
  "hasMap": "http://www.openstreetmap.org/?mlat=40.7784&mlon=-73.9627#map=15/40.7784/-73.9627",
  "geo": {
    "@type": "GeoCoordinates",
    "latitude": 40.7784,
    "longitude": -73.9627
  },
  "description": null,
  "telephone": "+1 (212) 472-2764",
  "url": "http://www.metmuseum.org",
  "openingHours": null,
  "photo": {
    "@type": "ImageObject",
    "contentUrl": "http://127.0.0.1:8888/fSunhLAJFSmnx55GNJee2-YKcgE=/1000x1000/museums/logos/000/149/449/original/NYC_-_Metropolitan_-_Temple_of_Dendur.JPG",
    "creator": "Jean-Christophe BENOIST",
    "license": "CC BY 3.0"
  }
}

schema.org Place model 没有“许可证”字段。将许可证类型字段添加到记录的正确方法是什么?如果可能的话,基本上我想在其中嵌入一个CreativeWork 字段。

【问题讨论】:

    标签: schema.org json-ld


    【解决方案1】:

    您似乎想为关于Place 的文档提供许可证,而不是为Place 本身提供许可证。

    所以使用CreativeWork(或它的子类型之一,如果文档是网页,则如WebPage)并使用它的license 属性。

    要说明这个CreativeWork 是关于Place,您可以使用about 属性,并说明Place 是本文档中描述的主要实体,您可以使用mainEntity属性。

    如果您想保持Place 作为顶级节点,您可以使用JSON-LD 的@reverse 作为about 属性,并使用mainEntity 的逆属性mainEntityOfPage

    【讨论】:

    • 我想我明白了这个概念,只是不能 100% 确定实施。我确实想将其保留为一个地方,因为数据实际上是关于这个地方的。我是否只是在小时候添加了一个带有 creativeWork 的“mainEntityOfPage”键?
    • @barnaclebarnes:哪个是顶级节点(PlaceCreativeWork)并不重要,因为属性mainEntitymainEntityOfPage 被定义为反向;在这两种情况下你都会有一个Place。因此,请使用对您更有效的方法。 ··· 如果您不发布有关数据的相应网页(即每个位置的页面),您可能需要使用DatasetDataset → mainEntity → PlacePlace → mainEntityOfPage → Dataset
    【解决方案2】:

    使用http://schema.org/DatasetCreativeWork 的一种)将允许您设置许可证。 PlaceDataset 中的一个字段,因此它们可以组合在一起。您的ImageObjectlicense 也应该是URL of the license 而不是文本(我在遇到问题后发现)。

    数据集包括datasetTimeintervaldistributionincludedDataCatalogspatialPlace)。数据集只有introduced in May

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多