SEO. JSONLD. Movie
(SEO v0.3.0-rc.0)
View Source
A movie.

Helper for building a Schema.org Movie JSON-LD structure.
Summary
Types
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "Movie", 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 Movie JSON-LD map.
Types
@type attrs() :: %{ optional(:actor) => SEO.JSONLD.Person.t() | map() | SEO.JSONLD.PerformingGroup.t(), optional(:actors) => SEO.JSONLD.Person.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(:duration) => Duration.t() | String.t() | SEO.JSONLD.QuantitativeValue.t() | map(), optional(:music_by) => SEO.JSONLD.Person.t() | map() | SEO.JSONLD.MusicGroup.t(), optional(:production_company) => SEO.JSONLD.Organization.t() | map(), optional(:subtitle_language) => String.t() | SEO.JSONLD.Language.t() | map(), optional(:title_eidr) => String.t() | URI.t(), optional(:trailer) => SEO.JSONLD.VideoObject.t() | map(), 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(), :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(), country_of_origin: SEO.JSONLD.Country.t() | map(), director: SEO.JSONLD.Person.t() | map(), directors: SEO.JSONLD.Person.t() | map(), duration: Duration.t() | String.t() | SEO.JSONLD.QuantitativeValue.t() | map(), music_by: SEO.JSONLD.Person.t() | map() | SEO.JSONLD.MusicGroup.t(), production_company: SEO.JSONLD.Organization.t() | map(), subtitle_language: String.t() | SEO.JSONLD.Language.t() | map(), title_eidr: String.t() | URI.t(), trailer: SEO.JSONLD.VideoObject.t() | map(), 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() ]
A JSON-LD map ready to be nested or rendered. String-keyed, always
includes "@type" set to "Movie", 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 Movie 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.: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.:duration- The duration of the item (movie, audio recording, event, etc.) in ISO 8601 duration format.:music_by- The composer of the soundtrack.:production_company- The production company or studio responsible for the item, e.g. series, video game, episode etc.:subtitle_language- Languages in which subtitles/captions are available, in IETF BCP 47 standard format.:title_eidr- An EIDR (Entertainment Identifier Registry)identifierrepresenting 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: