JSON schema proposal
ufo edited this page 3 years ago

Mapping the RSS tag to JSON+LD schema

references:

{
   "@context": "https://schema.org/",
   "@type": "PodcastSeries",
   "image": "ITUNES:IMAGE",
   "url": "LINK",
   "name": "TITLE",
   "description": "DESCRIPTION",
   "webFeed": "ATOM:LINK @HREF",
   "author": {
     "@type": "Person",
     "name": "ITUNES:AUTHOR"
   },
   "producer": {
     "@type": "Person",
     "name": "ITUNES:OWNER -> ITUNES:NAME",
     "email": "ITUNES:OWNER -> ITUNES:EMAIL"
   },
   "dateCreated":"PUBDATE",
   "inLanguage":"LANGUAGE",
   "keywords":"ITUNES:KEYWORDS",
   "isFamilyFriendly":"EXPLICIT",
   "license": "LICENSEURL",
   "hasPart": [
        {
           "@type": "PodcastEpisode",
           "url": "LINK",
           "name": "ITEM -> TITLE",
           "datePublished": "ITEM -> PUBDATE",
           "timeRequired": "ITEM -> DURATION",
           "associatedMedia": {
             "@type": "MediaObject",
             "contentUrl": "ITEM -> LINK"
           },
           "isFamilyFriendly": "EXPLICIT",
           "image": "ITEM -> ITUNES:IMAGE",
           "identifier": "ITEM -> GUID",
           "keywords":"ITEM -> ITUNES:KEYWORDS"
        }
   ]
}

Notes:

  • the property isFamilyFriendly must be boolean (in the RSS feed is yes or no)
  • the property license is taken form the archive.org API, it's not part of the RSS feed
  • the property timeRequired should be expressed as ISO 8601 duration, see https://en.wikipedia.org/wiki/ISO_8601#Durations. eg: 3min and 22 sec -> PT3M22S