SEO.JSONLD.TVSeries (SEO v0.3.0-rc.0)

View Source

CreativeWorkSeries dedicated to TV broadcast and associated online delivery.

Helper for building a Schema.org TVSeries JSON-LD structure.

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "TVSeries", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

Build a TVSeries JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:actor) =>
      SEO.JSONLD.Person.t() | map() | SEO.JSONLD.PerformingGroup.t(),
    optional(:actors) => SEO.JSONLD.Person.t() | map(),
    optional(:contains_season) => SEO.JSONLD.CreativeWorkSeason.t() | map(),
    optional(:country_of_origin) => SEO.JSONLD.Country.t() | map(),
    optional(:director) => SEO.JSONLD.Person.t() | map(),
    optional(:directors) => SEO.JSONLD.Person.t() | map(),
    optional(:episode) => SEO.JSONLD.Episode.t() | map(),
    optional(:episodes) => SEO.JSONLD.Episode.t() | map(),
    optional(:music_by) =>
      SEO.JSONLD.Person.t() | map() | SEO.JSONLD.MusicGroup.t(),
    optional(:number_of_episodes) => integer(),
    optional(:number_of_seasons) => integer(),
    optional(:production_company) => SEO.JSONLD.Organization.t() | map(),
    optional(:season) =>
      URI.t() | String.t() | SEO.JSONLD.CreativeWorkSeason.t() | map(),
    optional(:seasons) => SEO.JSONLD.CreativeWorkSeason.t() | map(),
    optional(:title_eidr) => String.t() | URI.t(),
    optional(:trailer) => SEO.JSONLD.VideoObject.t() | map(),
    optional(:end_date) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
    optional(:issn) => String.t(),
    optional(:start_date) =>
      Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
    optional(:about) => SEO.JSONLD.Thing.t() | map(),
    optional(:abstract) => String.t(),
    optional(:access_mode) => String.t(),
    optional(:access_mode_sufficient) => SEO.JSONLD.ItemList.t() | map(),
    optional(:accessibility_api) => String.t(),
    optional(:accessibility_control) => String.t(),
    optional(:accessibility_feature) => String.t(),
    optional(:accessibility_hazard) => String.t(),
    optional(:accessibility_summary) => String.t(),
    optional(:accountable_person) => SEO.JSONLD.Person.t() | map(),
    optional(:acquire_license_page) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:aggregate_rating) => SEO.JSONLD.AggregateRating.t() | map(),
    optional(:alternative_headline) => String.t(),
    optional(:archived_at) =>
      SEO.JSONLD.WebPage.t() | map() | URI.t() | String.t(),
    optional(:assesses) => String.t() | SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:associated_media) => SEO.JSONLD.MediaObject.t() | map(),
    optional(:audience) => SEO.JSONLD.Audience.t() | map(),
    optional(:audio) =>
      SEO.JSONLD.Clip.t()
      | map()
      | SEO.JSONLD.MusicRecording.t()
      | SEO.JSONLD.AudioObject.t(),
    optional(:author) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:award) => String.t(),
    optional(:awards) => String.t(),
    optional(:character) => SEO.JSONLD.Person.t() | map(),
    optional(:citation) => SEO.JSONLD.CreativeWork.t() | map() | String.t(),
    optional(:comment) => SEO.JSONLD.Comment.t() | map(),
    optional(:comment_count) => integer(),
    optional(:conditions_of_access) => String.t(),
    optional(:content_location) => SEO.JSONLD.Place.t() | map(),
    optional(:content_rating) => String.t() | SEO.JSONLD.Rating.t() | map(),
    optional(:content_reference_time) =>
      DateTime.t() | NaiveDateTime.t() | String.t(),
    optional(:contributor) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:copyright_holder) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:copyright_notice) => String.t(),
    optional(:copyright_year) => number(),
    optional(:correction) =>
      SEO.JSONLD.CorrectionComment.t() | map() | String.t() | URI.t(),
    optional(:creative_work_status) =>
      SEO.JSONLD.DefinedTerm.t() | map() | String.t(),
    optional(:creator) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:credit_text) => String.t(),
    optional(:date_created) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
    optional(:date_modified) =>
      DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
    optional(:date_published) =>
      Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
    optional(:digital_source_type) =>
      :algorithmic_media_digital_source
      | :algorithmically_enhanced_digital_source
      | :composite_capture_digital_source
      | :composite_digital_source
      | :composite_synthetic_digital_source
      | :composite_with_trained_algorithmic_media_digital_source
      | :data_driven_media_digital_source
      | :digital_art_digital_source
      | :digital_capture_digital_source
      | :minor_human_edits_digital_source
      | :multi_frame_computational_capture_digital_source
      | :negative_film_digital_source
      | :positive_film_digital_source
      | :print_digital_source
      | :screen_capture_digital_source
      | :trained_algorithmic_media_digital_source
      | :virtual_recording_digital_source,
    optional(:discussion_url) => URI.t() | String.t(),
    optional(:display_location) => SEO.JSONLD.Place.t() | map(),
    optional(:edit_eidr) => String.t() | URI.t(),
    optional(:editor) => SEO.JSONLD.Person.t() | map(),
    optional(:educational_alignment) => SEO.JSONLD.AlignmentObject.t() | map(),
    optional(:educational_level) =>
      String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:educational_use) =>
      SEO.JSONLD.DefinedTerm.t() | map() | String.t(),
    optional(:encoding) => SEO.JSONLD.MediaObject.t() | map(),
    optional(:encoding_format) => String.t() | URI.t(),
    optional(:encodings) => SEO.JSONLD.MediaObject.t() | map(),
    optional(:example_of_work) => SEO.JSONLD.CreativeWork.t() | map(),
    optional(:expires) =>
      Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
    optional(:file_format) => String.t() | URI.t(),
    optional(:funder) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:funding) => SEO.JSONLD.Grant.t() | map(),
    optional(:genre) =>
      String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:has_part) => SEO.JSONLD.CreativeWork.t() | map(),
    optional(:headline) => String.t(),
    optional(:in_language) => String.t() | SEO.JSONLD.Language.t() | map(),
    optional(:interaction_statistic) =>
      SEO.JSONLD.InteractionCounter.t() | map(),
    optional(:interactivity_type) => String.t(),
    optional(:interpreted_as_claim) => SEO.JSONLD.Claim.t() | map(),
    optional(:is_accessible_for_free) => boolean(),
    optional(:is_based_on) =>
      SEO.JSONLD.CreativeWork.t()
      | map()
      | SEO.JSONLD.Product.t()
      | URI.t()
      | String.t(),
    optional(:is_based_on_url) =>
      SEO.JSONLD.CreativeWork.t()
      | map()
      | SEO.JSONLD.Product.t()
      | URI.t()
      | String.t(),
    optional(:is_family_friendly) => boolean(),
    optional(:is_part_of) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:keywords) =>
      SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(),
    optional(:learning_resource_type) =>
      String.t() | SEO.JSONLD.DefinedTerm.t() | map(),
    optional(:license) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:location_created) => SEO.JSONLD.Place.t() | map(),
    optional(:main_entity) => SEO.JSONLD.Thing.t() | map(),
    optional(:maintainer) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:material) =>
      String.t() | SEO.JSONLD.Product.t() | map() | URI.t(),
    optional(:material_extent) =>
      SEO.JSONLD.QuantitativeValue.t() | map() | String.t(),
    optional(:mentions) => SEO.JSONLD.Thing.t() | map(),
    optional(:offers) => SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(),
    optional(:pattern) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(),
    optional(:position) => String.t() | integer(),
    optional(:producer) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:provider) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:publication) => SEO.JSONLD.PublicationEvent.t() | map(),
    optional(:publisher) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:publisher_imprint) => SEO.JSONLD.Organization.t() | map(),
    optional(:publishing_principles) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:recorded_at) => SEO.JSONLD.Event.t() | map(),
    optional(:released_event) => SEO.JSONLD.PublicationEvent.t() | map(),
    optional(:review) => SEO.JSONLD.Review.t() | map(),
    optional(:reviews) => SEO.JSONLD.Review.t() | map(),
    optional(:schema_version) => String.t() | URI.t(),
    optional(:sd_date_published) => Date.t() | String.t(),
    optional(:sd_license) =>
      URI.t() | String.t() | SEO.JSONLD.CreativeWork.t() | map(),
    optional(:sd_publisher) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:size) =>
      SEO.JSONLD.DefinedTerm.t()
      | map()
      | SEO.JSONLD.QuantitativeValue.t()
      | String.t(),
    optional(:source_organization) => SEO.JSONLD.Organization.t() | map(),
    optional(:spatial) => SEO.JSONLD.Place.t() | map(),
    optional(:spatial_coverage) => SEO.JSONLD.Place.t() | map(),
    optional(:sponsor) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:teaches) => SEO.JSONLD.DefinedTerm.t() | map() | String.t(),
    optional(:temporal) => String.t() | DateTime.t() | NaiveDateTime.t(),
    optional(:temporal_coverage) =>
      String.t() | URI.t() | DateTime.t() | NaiveDateTime.t(),
    optional(:text) => String.t(),
    optional(:thumbnail) => SEO.JSONLD.ImageObject.t() | map(),
    optional(:thumbnail_url) => URI.t() | String.t(),
    optional(:time_required) => Duration.t() | String.t(),
    optional(:translation_of_work) => SEO.JSONLD.CreativeWork.t() | map(),
    optional(:translator) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:typical_age_range) => String.t(),
    optional(:usage_info) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:version) => String.t() | number(),
    optional(:video) =>
      SEO.JSONLD.VideoObject.t() | map() | SEO.JSONLD.Clip.t(),
    optional(:word_count) => integer(),
    optional(:work_example) => SEO.JSONLD.CreativeWork.t() | map(),
    optional(:work_translation) => SEO.JSONLD.CreativeWork.t() | map(),
    optional(:additional_type) => String.t() | URI.t(),
    optional(:alternate_name) => String.t(),
    optional(:description) => SEO.JSONLD.TextObject.t() | map() | String.t(),
    optional(:disambiguating_description) => String.t(),
    optional(:identifier) =>
      String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
    optional(:image) =>
      URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
    optional(:main_entity_of_page) =>
      SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
    optional(:name) => String.t(),
    optional(:owner) =>
      SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
    optional(:potential_action) => SEO.JSONLD.Action.t() | map(),
    optional(:same_as) => URI.t() | String.t(),
    optional(:subject_of) =>
      SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
    optional(:url) => URI.t() | String.t()
  }
  | [
      actor: SEO.JSONLD.Person.t() | map() | SEO.JSONLD.PerformingGroup.t(),
      actors: SEO.JSONLD.Person.t() | map(),
      contains_season: SEO.JSONLD.CreativeWorkSeason.t() | map(),
      country_of_origin: SEO.JSONLD.Country.t() | map(),
      director: SEO.JSONLD.Person.t() | map(),
      directors: SEO.JSONLD.Person.t() | map(),
      episode: SEO.JSONLD.Episode.t() | map(),
      episodes: SEO.JSONLD.Episode.t() | map(),
      music_by: SEO.JSONLD.Person.t() | map() | SEO.JSONLD.MusicGroup.t(),
      number_of_episodes: integer(),
      number_of_seasons: integer(),
      production_company: SEO.JSONLD.Organization.t() | map(),
      season: URI.t() | String.t() | SEO.JSONLD.CreativeWorkSeason.t() | map(),
      seasons: SEO.JSONLD.CreativeWorkSeason.t() | map(),
      title_eidr: String.t() | URI.t(),
      trailer: SEO.JSONLD.VideoObject.t() | map(),
      end_date: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
      issn: String.t(),
      start_date: Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
      about: SEO.JSONLD.Thing.t() | map(),
      abstract: String.t(),
      access_mode: String.t(),
      access_mode_sufficient: SEO.JSONLD.ItemList.t() | map(),
      accessibility_api: String.t(),
      accessibility_control: String.t(),
      accessibility_feature: String.t(),
      accessibility_hazard: String.t(),
      accessibility_summary: String.t(),
      accountable_person: SEO.JSONLD.Person.t() | map(),
      acquire_license_page:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      aggregate_rating: SEO.JSONLD.AggregateRating.t() | map(),
      alternative_headline: String.t(),
      archived_at: SEO.JSONLD.WebPage.t() | map() | URI.t() | String.t(),
      assesses: String.t() | SEO.JSONLD.DefinedTerm.t() | map(),
      associated_media: SEO.JSONLD.MediaObject.t() | map(),
      audience: SEO.JSONLD.Audience.t() | map(),
      audio:
        SEO.JSONLD.Clip.t()
        | map()
        | SEO.JSONLD.MusicRecording.t()
        | SEO.JSONLD.AudioObject.t(),
      author: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      award: String.t(),
      awards: String.t(),
      character: SEO.JSONLD.Person.t() | map(),
      citation: SEO.JSONLD.CreativeWork.t() | map() | String.t(),
      comment: SEO.JSONLD.Comment.t() | map(),
      comment_count: integer(),
      conditions_of_access: String.t(),
      content_location: SEO.JSONLD.Place.t() | map(),
      content_rating: String.t() | SEO.JSONLD.Rating.t() | map(),
      content_reference_time: DateTime.t() | NaiveDateTime.t() | String.t(),
      contributor: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      copyright_holder:
        SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      copyright_notice: String.t(),
      copyright_year: number(),
      correction:
        SEO.JSONLD.CorrectionComment.t() | map() | String.t() | URI.t(),
      creative_work_status: SEO.JSONLD.DefinedTerm.t() | map() | String.t(),
      creator: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      credit_text: String.t(),
      date_created: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
      date_modified: DateTime.t() | NaiveDateTime.t() | String.t() | Date.t(),
      date_published: Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
      digital_source_type:
        :algorithmic_media_digital_source
        | :algorithmically_enhanced_digital_source
        | :composite_capture_digital_source
        | :composite_digital_source
        | :composite_synthetic_digital_source
        | :composite_with_trained_algorithmic_media_digital_source
        | :data_driven_media_digital_source
        | :digital_art_digital_source
        | :digital_capture_digital_source
        | :minor_human_edits_digital_source
        | :multi_frame_computational_capture_digital_source
        | :negative_film_digital_source
        | :positive_film_digital_source
        | :print_digital_source
        | :screen_capture_digital_source
        | :trained_algorithmic_media_digital_source
        | :virtual_recording_digital_source,
      discussion_url: URI.t() | String.t(),
      display_location: SEO.JSONLD.Place.t() | map(),
      edit_eidr: String.t() | URI.t(),
      editor: SEO.JSONLD.Person.t() | map(),
      educational_alignment: SEO.JSONLD.AlignmentObject.t() | map(),
      educational_level:
        String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(),
      educational_use: SEO.JSONLD.DefinedTerm.t() | map() | String.t(),
      encoding: SEO.JSONLD.MediaObject.t() | map(),
      encoding_format: String.t() | URI.t(),
      encodings: SEO.JSONLD.MediaObject.t() | map(),
      example_of_work: SEO.JSONLD.CreativeWork.t() | map(),
      expires: Date.t() | String.t() | DateTime.t() | NaiveDateTime.t(),
      file_format: String.t() | URI.t(),
      funder: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      funding: SEO.JSONLD.Grant.t() | map(),
      genre: String.t() | URI.t() | SEO.JSONLD.DefinedTerm.t() | map(),
      has_part: SEO.JSONLD.CreativeWork.t() | map(),
      headline: String.t(),
      in_language: String.t() | SEO.JSONLD.Language.t() | map(),
      interaction_statistic: SEO.JSONLD.InteractionCounter.t() | map(),
      interactivity_type: String.t(),
      interpreted_as_claim: SEO.JSONLD.Claim.t() | map(),
      is_accessible_for_free: boolean(),
      is_based_on:
        SEO.JSONLD.CreativeWork.t()
        | map()
        | SEO.JSONLD.Product.t()
        | URI.t()
        | String.t(),
      is_based_on_url:
        SEO.JSONLD.CreativeWork.t()
        | map()
        | SEO.JSONLD.Product.t()
        | URI.t()
        | String.t(),
      is_family_friendly: boolean(),
      is_part_of: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      keywords: SEO.JSONLD.DefinedTerm.t() | map() | String.t() | URI.t(),
      learning_resource_type: String.t() | SEO.JSONLD.DefinedTerm.t() | map(),
      license: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      location_created: SEO.JSONLD.Place.t() | map(),
      main_entity: SEO.JSONLD.Thing.t() | map(),
      maintainer: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      material: String.t() | SEO.JSONLD.Product.t() | map() | URI.t(),
      material_extent: SEO.JSONLD.QuantitativeValue.t() | map() | String.t(),
      mentions: SEO.JSONLD.Thing.t() | map(),
      offers: SEO.JSONLD.Offer.t() | map() | SEO.JSONLD.Demand.t(),
      pattern: SEO.JSONLD.DefinedTerm.t() | map() | String.t(),
      position: String.t() | integer(),
      producer: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      provider: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      publication: SEO.JSONLD.PublicationEvent.t() | map(),
      publisher: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      publisher_imprint: SEO.JSONLD.Organization.t() | map(),
      publishing_principles:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      recorded_at: SEO.JSONLD.Event.t() | map(),
      released_event: SEO.JSONLD.PublicationEvent.t() | map(),
      review: SEO.JSONLD.Review.t() | map(),
      reviews: SEO.JSONLD.Review.t() | map(),
      schema_version: String.t() | URI.t(),
      sd_date_published: Date.t() | String.t(),
      sd_license: URI.t() | String.t() | SEO.JSONLD.CreativeWork.t() | map(),
      sd_publisher: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      size:
        SEO.JSONLD.DefinedTerm.t()
        | map()
        | SEO.JSONLD.QuantitativeValue.t()
        | String.t(),
      source_organization: SEO.JSONLD.Organization.t() | map(),
      spatial: SEO.JSONLD.Place.t() | map(),
      spatial_coverage: SEO.JSONLD.Place.t() | map(),
      sponsor: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      teaches: SEO.JSONLD.DefinedTerm.t() | map() | String.t(),
      temporal: String.t() | DateTime.t() | NaiveDateTime.t(),
      temporal_coverage:
        String.t() | URI.t() | DateTime.t() | NaiveDateTime.t(),
      text: String.t(),
      thumbnail: SEO.JSONLD.ImageObject.t() | map(),
      thumbnail_url: URI.t() | String.t(),
      time_required: Duration.t() | String.t(),
      translation_of_work: SEO.JSONLD.CreativeWork.t() | map(),
      translator: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      typical_age_range: String.t(),
      usage_info: SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      version: String.t() | number(),
      video: SEO.JSONLD.VideoObject.t() | map() | SEO.JSONLD.Clip.t(),
      word_count: integer(),
      work_example: SEO.JSONLD.CreativeWork.t() | map(),
      work_translation: SEO.JSONLD.CreativeWork.t() | map(),
      additional_type: String.t() | URI.t(),
      alternate_name: String.t(),
      description: SEO.JSONLD.TextObject.t() | map() | String.t(),
      disambiguating_description: String.t(),
      identifier: String.t() | URI.t() | SEO.JSONLD.PropertyValue.t() | map(),
      image: URI.t() | String.t() | SEO.JSONLD.ImageObject.t() | map(),
      main_entity_of_page:
        SEO.JSONLD.CreativeWork.t() | map() | URI.t() | String.t(),
      name: String.t(),
      owner: SEO.JSONLD.Organization.t() | map() | SEO.JSONLD.Person.t(),
      potential_action: SEO.JSONLD.Action.t() | map(),
      same_as: URI.t() | String.t(),
      subject_of: SEO.JSONLD.Event.t() | map() | SEO.JSONLD.CreativeWork.t(),
      url: URI.t() | String.t()
    ]

t()

@type t() :: %{required(String.t()) => term()}

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "TVSeries", plus any camelCased field keys the caller provided (see build/1). "@context" is added at render time by SEO.JSONLD.meta/1 on the top-level node only.

Functions

build(attrs)

@spec build(attrs()) :: t()

Build a TVSeries JSON-LD map.

Fields

  • :actor - An actor (individual or a group), e.g. in TV, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.
  • :actors - An actor, e.g. in TV, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.
  • :contains_season - A season that is part of the media series.
  • :country_of_origin - The country of origin of something, including products as well as creative works such as movie and TV content.

In the case of TV and movie, this would be the country of the principle offices of the production company or individual responsible for the movie. For other kinds of SEO.JSONLD.CreativeWork it is difficult to provide fully general guidance, and properties such as contentLocation and locationCreated may be more applicable.

In the case of products, the country of origin of the product. The exact interpretation of this may vary by context and product type, and cannot be fully enumerated here.

  • :director - A director of e.g. TV, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.
  • :directors - A director of e.g. TV, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.
  • :episode - An episode of a TV, radio or game media within a series or season.
  • :episodes - An episode of a TV/radio series or season.
  • :music_by - The composer of the soundtrack.
  • :number_of_episodes - The number of episodes in this season or series.
  • :number_of_seasons - The number of seasons in this series.
  • :production_company - The production company or studio responsible for the item, e.g. series, video game, episode etc.
  • :season - A season in a media series.
  • :seasons - A season in a media series.
  • :title_eidr - An EIDR (Entertainment Identifier Registry) identifier representing at the most general/abstract level, a work of film or television.

For example, the motion picture known as "Ghostbusters" has a titleEIDR of "10.5240/7EC7-228A-510A-053E-CBB8-J". This title (or work) may have several variants, which EIDR calls "edits". See editEIDR.

Since schema.org types like SEO.JSONLD.Movie, SEO.JSONLD.TVEpisode, SEO.JSONLD.TVSeason, and SEO.JSONLD.TVSeries can be used for both works and their multiple expressions, it is possible to use titleEIDR alone (for a general description), or alongside editEIDR for a more edit-specific description.

  • :trailer - The trailer of a movie or TV/radio series, season, episode, etc.

Inherited properties

Additional properties are available through the inheritance chain. See each ancestor's docs for its properties: