添加许可证'字段到schema.org放置记录

时间:2015-07-18 00:05:15

标签: schema.org json-ld

我有一个我想要作为开放数据发布的位置数据库。每条记录可以具有多个许可证中的一个,具体取决于数据的来源,因此每条记录都需要附加许可证。我将数据发布为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没有' license'的字段。将许可证类型字段添加到记录的正确方法是什么?基本上我想在可能的情况下在其中嵌入CreativeWork字段。

2 个答案:

答案 0 :(得分:3)

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

所以请使用CreativeWork(或其中一个子类型,如WebPage,如果文档是网页)并使用其license属性。

要声明此CreativeWorkPlace有关,您可以使用about属性,并声明Place是本文档中描述的主要实体,您可以使用mainEntity属性。

如果您想将Place保留为顶级节点,可以将JSON-LD的@reverse用于about属性,并使用mainEntity的反向property,mainEntityOfPage

答案 1 :(得分:1)

使用http://schema.org/DatasetCreativeWork类型)可以设置许可证。 PlaceDataset中的字段,因此它们组合在一起。 license的{​​{1}}也应该是URL of the license,而不是文本(我在发现问题后发现)。

数据集包括ImageObjectdatasetTimeintervaldistributionincludedDataCatalogspatial)。数据集仅为introduced in May