我有一个我想要作为开放数据发布的位置数据库。每条记录可以具有多个许可证中的一个,具体取决于数据的来源,因此每条记录都需要附加许可证。我将数据发布为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字段。
答案 0 :(得分:3)
您似乎希望为关于 Place
的文档提供许可,而不是为Place
本身提供许可。
所以请使用CreativeWork
(或其中一个子类型,如WebPage
,如果文档是网页)并使用其license
属性。
要声明此CreativeWork
与Place
有关,您可以使用about
属性,并声明Place
是本文档中描述的主要实体,您可以使用mainEntity
属性。
如果您想将Place
保留为顶级节点,可以将JSON-LD的@reverse
用于about
属性,并使用mainEntity
的反向property,mainEntityOfPage
。
答案 1 :(得分:1)
使用http://schema.org/Dataset(CreativeWork
类型)可以设置许可证。 Place
是Dataset
中的字段,因此它们组合在一起。 license
的{{1}}也应该是URL of the license,而不是文本(我在发现问题后发现)。
数据集包括ImageObject
,datasetTimeinterval
,distribution
和includedDataCatalog
(spatial
)。数据集仅为introduced in May