Добавление поля 'license' в схему schema.org Place

У меня есть база данных мест, которые я хотел бы опубликовать как открытые данные. Каждая запись может иметь одну из нескольких лицензий в зависимости от того, откуда были получены данные, поэтому каждая запись должна иметь прикрепленную лицензию. Я публикую данные как 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 нет поля для "лицензии". Как правильно добавить поле типа лицензии в запись? По сути, я хочу вставить туда поле CreativeWork, если это возможно.

2 ответа

Решение

Похоже, что вы хотите предоставить лицензию на документ, который о Place не для Place сам.

Так что иди с CreativeWork (или один из его подтипов, например WebPage если документ является веб-страницей) и использовать его license имущество.

Чтобы заявить, что это CreativeWork о Place Вы могли бы использовать about собственность, и заявить, что Place является основным объектом, описанным в этом документе, вы можете использовать mainEntity имущество.

Если вы хотите сохранить Place в качестве узла верхнего уровня вы можете использовать JSON-LD @reverse для about собственность и использование mainEntity обратное свойство, mainEntityOfPage,

Использование http://schema.org/Dataset (это тип CreativeWork) позволит вам установить лицензию. Place это поле внутри Dataset поэтому они подходят друг другу. license для тебя ImageObject также должен быть URL лицензии, а не текст (который я узнал после проблем с ним).

Набор данных включает в себя datasetTimeinterval, distribution, includedDataCatalog а также spatialPlace). Набор данных был представлен только в мае

Другие вопросы по тегам