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

View Source

A set of characteristics belonging to people, e.g. who compose an item's target audience.

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

Summary

Types

t()

A JSON-LD map ready to be nested or rendered. String-keyed, always includes "@type" set to "PeopleAudience", 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 PeopleAudience JSON-LD map.

Types

attrs()

@type attrs() ::
  %{
    optional(:health_condition) => SEO.JSONLD.MedicalCondition.t() | map(),
    optional(:required_gender) => String.t(),
    optional(:required_max_age) => integer(),
    optional(:required_min_age) => integer(),
    optional(:suggested_age) => SEO.JSONLD.QuantitativeValue.t() | map(),
    optional(:suggested_gender) => String.t() | :female | :male,
    optional(:suggested_max_age) => number(),
    optional(:suggested_measurement) =>
      SEO.JSONLD.QuantitativeValue.t() | map(),
    optional(:suggested_min_age) => number(),
    optional(:audience_type) => String.t(),
    optional(:geographic_area) => SEO.JSONLD.AdministrativeArea.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()
  }
  | [
      health_condition: SEO.JSONLD.MedicalCondition.t() | map(),
      required_gender: String.t(),
      required_max_age: integer(),
      required_min_age: integer(),
      suggested_age: SEO.JSONLD.QuantitativeValue.t() | map(),
      suggested_gender: String.t() | :female | :male,
      suggested_max_age: number(),
      suggested_measurement: SEO.JSONLD.QuantitativeValue.t() | map(),
      suggested_min_age: number(),
      audience_type: String.t(),
      geographic_area: SEO.JSONLD.AdministrativeArea.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 "PeopleAudience", 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 PeopleAudience JSON-LD map.

Fields

  • :health_condition - Specifying the health condition(s) of a patient, medical study, or other target audience.
  • :required_gender - Audiences defined by a person's gender.
  • :required_max_age - Audiences defined by a person's maximum age.
  • :required_min_age - Audiences defined by a person's minimum age.
  • :suggested_age - The age or age range for the intended audience or person, for example 3-12 months for infants, 1-5 years for toddlers.
  • :suggested_gender - The suggested gender of the intended person or audience, for example "male", "female", or "unisex". One of: :female, :male.
  • :suggested_max_age - Maximum recommended age in years for the audience or user.
  • :suggested_measurement - A suggested range of body measurements for the intended audience or person, for example inseam between 32 and 34 inches or height between 170 and 190 cm. Typically found on a size chart for wearable products.
  • :suggested_min_age - Minimum recommended age in years for the audience or user.

Inherited properties

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