vendor/spatie/schema-org/src/ImageObject.php line 16

Open in your IDE?
  1. <?php
  2. namespace Spatie\SchemaOrg;
  3. use Spatie\SchemaOrg\Contracts\CreativeWorkContract;
  4. use Spatie\SchemaOrg\Contracts\ImageObjectContract;
  5. use Spatie\SchemaOrg\Contracts\MediaObjectContract;
  6. use Spatie\SchemaOrg\Contracts\ThingContract;
  7. /**
  8.  * An image file.
  9.  *
  10.  * @see https://schema.org/ImageObject
  11.  *
  12.  */
  13. class ImageObject extends BaseType implements ImageObjectContractCreativeWorkContractMediaObjectContractThingContract
  14. {
  15.     /**
  16.      * The subject matter of the content.
  17.      *
  18.      * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $about
  19.      *
  20.      * @return static
  21.      *
  22.      * @see https://schema.org/about
  23.      * @link https://github.com/schemaorg/schemaorg/issues/1670
  24.      */
  25.     public function about($about)
  26.     {
  27.         return $this->setProperty('about'$about);
  28.     }
  29.     /**
  30.      * An abstract is a short description that summarizes a [[CreativeWork]].
  31.      *
  32.      * @param string|string[] $abstract
  33.      *
  34.      * @return static
  35.      *
  36.      * @see https://schema.org/abstract
  37.      * @see https://pending.schema.org
  38.      * @link https://github.com/schemaorg/schemaorg/issues/276
  39.      */
  40.     public function abstract($abstract)
  41.     {
  42.         return $this->setProperty('abstract'$abstract);
  43.     }
  44.     /**
  45.      * The human sensory perceptual system or cognitive faculty through which a
  46.      * person may process or perceive information. Values should be drawn from
  47.      * the [approved
  48.      * vocabulary](https://www.w3.org/2021/a11y-discov-vocab/latest/#accessMode-vocabulary).
  49.      *
  50.      * @param string|string[] $accessMode
  51.      *
  52.      * @return static
  53.      *
  54.      * @see https://schema.org/accessMode
  55.      * @link https://github.com/schemaorg/schemaorg/issues/1100
  56.      */
  57.     public function accessMode($accessMode)
  58.     {
  59.         return $this->setProperty('accessMode'$accessMode);
  60.     }
  61.     /**
  62.      * A list of single or combined accessModes that are sufficient to
  63.      * understand all the intellectual content of a resource. Values should be
  64.      * drawn from the [approved
  65.      * vocabulary](https://www.w3.org/2021/a11y-discov-vocab/latest/#accessModeSufficient-vocabulary).
  66.      *
  67.      * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
  68.      *
  69.      * @return static
  70.      *
  71.      * @see https://schema.org/accessModeSufficient
  72.      * @link https://github.com/schemaorg/schemaorg/issues/1100
  73.      */
  74.     public function accessModeSufficient($accessModeSufficient)
  75.     {
  76.         return $this->setProperty('accessModeSufficient'$accessModeSufficient);
  77.     }
  78.     /**
  79.      * Indicates that the resource is compatible with the referenced
  80.      * accessibility API. Values should be drawn from the [approved
  81.      * vocabulary](https://www.w3.org/2021/a11y-discov-vocab/latest/#accessibilityAPI-vocabulary).
  82.      *
  83.      * @param string|string[] $accessibilityAPI
  84.      *
  85.      * @return static
  86.      *
  87.      * @see https://schema.org/accessibilityAPI
  88.      */
  89.     public function accessibilityAPI($accessibilityAPI)
  90.     {
  91.         return $this->setProperty('accessibilityAPI'$accessibilityAPI);
  92.     }
  93.     /**
  94.      * Identifies input methods that are sufficient to fully control the
  95.      * described resource. Values should be drawn from the [approved
  96.      * vocabulary](https://www.w3.org/2021/a11y-discov-vocab/latest/#accessibilityControl-vocabulary).
  97.      *
  98.      * @param string|string[] $accessibilityControl
  99.      *
  100.      * @return static
  101.      *
  102.      * @see https://schema.org/accessibilityControl
  103.      */
  104.     public function accessibilityControl($accessibilityControl)
  105.     {
  106.         return $this->setProperty('accessibilityControl'$accessibilityControl);
  107.     }
  108.     /**
  109.      * Content features of the resource, such as accessible media, alternatives
  110.      * and supported enhancements for accessibility. Values should be drawn from
  111.      * the [approved
  112.      * vocabulary](https://www.w3.org/2021/a11y-discov-vocab/latest/#accessibilityFeature-vocabulary).
  113.      *
  114.      * @param string|string[] $accessibilityFeature
  115.      *
  116.      * @return static
  117.      *
  118.      * @see https://schema.org/accessibilityFeature
  119.      */
  120.     public function accessibilityFeature($accessibilityFeature)
  121.     {
  122.         return $this->setProperty('accessibilityFeature'$accessibilityFeature);
  123.     }
  124.     /**
  125.      * A characteristic of the described resource that is physiologically
  126.      * dangerous to some users. Related to WCAG 2.0 guideline 2.3. Values should
  127.      * be drawn from the [approved
  128.      * vocabulary](https://www.w3.org/2021/a11y-discov-vocab/latest/#accessibilityHazard-vocabulary).
  129.      *
  130.      * @param string|string[] $accessibilityHazard
  131.      *
  132.      * @return static
  133.      *
  134.      * @see https://schema.org/accessibilityHazard
  135.      */
  136.     public function accessibilityHazard($accessibilityHazard)
  137.     {
  138.         return $this->setProperty('accessibilityHazard'$accessibilityHazard);
  139.     }
  140.     /**
  141.      * A human-readable summary of specific accessibility features or
  142.      * deficiencies, consistent with the other accessibility metadata but
  143.      * expressing subtleties such as "short descriptions are present but long
  144.      * descriptions will be needed for non-visual users" or "short descriptions
  145.      * are present and no long descriptions are needed".
  146.      *
  147.      * @param string|string[] $accessibilitySummary
  148.      *
  149.      * @return static
  150.      *
  151.      * @see https://schema.org/accessibilitySummary
  152.      * @link https://github.com/schemaorg/schemaorg/issues/1100
  153.      */
  154.     public function accessibilitySummary($accessibilitySummary)
  155.     {
  156.         return $this->setProperty('accessibilitySummary'$accessibilitySummary);
  157.     }
  158.     /**
  159.      * Specifies the Person that is legally accountable for the CreativeWork.
  160.      *
  161.      * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
  162.      *
  163.      * @return static
  164.      *
  165.      * @see https://schema.org/accountablePerson
  166.      */
  167.     public function accountablePerson($accountablePerson)
  168.     {
  169.         return $this->setProperty('accountablePerson'$accountablePerson);
  170.     }
  171.     /**
  172.      * Indicates a page documenting how licenses can be purchased or otherwise
  173.      * acquired, for the current item.
  174.      *
  175.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $acquireLicensePage
  176.      *
  177.      * @return static
  178.      *
  179.      * @see https://schema.org/acquireLicensePage
  180.      * @see https://pending.schema.org
  181.      * @link https://github.com/schemaorg/schemaorg/issues/2454
  182.      */
  183.     public function acquireLicensePage($acquireLicensePage)
  184.     {
  185.         return $this->setProperty('acquireLicensePage'$acquireLicensePage);
  186.     }
  187.     /**
  188.      * An additional type for the item, typically used for adding more specific
  189.      * types from external vocabularies in microdata syntax. This is a
  190.      * relationship between something and a class that the thing is in.
  191.      * Typically the value is a URI-identified RDF class, and in this case
  192.      * corresponds to the
  193.      *     use of rdf:type in RDF. Text values can be used sparingly, for cases
  194.      * where useful information can be added without their being an appropriate
  195.      * schema to reference. In the case of text values, the class label should
  196.      * follow the schema.org [style
  197.      * guide](https://schema.org/docs/styleguide.html).
  198.      *
  199.      * @param string|string[] $additionalType
  200.      *
  201.      * @return static
  202.      *
  203.      * @see https://schema.org/additionalType
  204.      */
  205.     public function additionalType($additionalType)
  206.     {
  207.         return $this->setProperty('additionalType'$additionalType);
  208.     }
  209.     /**
  210.      * The overall rating, based on a collection of reviews or ratings, of the
  211.      * item.
  212.      *
  213.      * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
  214.      *
  215.      * @return static
  216.      *
  217.      * @see https://schema.org/aggregateRating
  218.      */
  219.     public function aggregateRating($aggregateRating)
  220.     {
  221.         return $this->setProperty('aggregateRating'$aggregateRating);
  222.     }
  223.     /**
  224.      * An alias for the item.
  225.      *
  226.      * @param string|string[] $alternateName
  227.      *
  228.      * @return static
  229.      *
  230.      * @see https://schema.org/alternateName
  231.      */
  232.     public function alternateName($alternateName)
  233.     {
  234.         return $this->setProperty('alternateName'$alternateName);
  235.     }
  236.     /**
  237.      * A secondary title of the CreativeWork.
  238.      *
  239.      * @param string|string[] $alternativeHeadline
  240.      *
  241.      * @return static
  242.      *
  243.      * @see https://schema.org/alternativeHeadline
  244.      */
  245.     public function alternativeHeadline($alternativeHeadline)
  246.     {
  247.         return $this->setProperty('alternativeHeadline'$alternativeHeadline);
  248.     }
  249.     /**
  250.      * Indicates a page or other link involved in archival of a
  251.      * [[CreativeWork]]. In the case of [[MediaReview]], the items in a
  252.      * [[MediaReviewItem]] may often become inaccessible, but be archived by
  253.      * archival, journalistic, activist, or law enforcement organizations. In
  254.      * such cases, the referenced page may not directly publish the content.
  255.      *
  256.      * @param \Spatie\SchemaOrg\Contracts\WebPageContract|\Spatie\SchemaOrg\Contracts\WebPageContract[]|string|string[] $archivedAt
  257.      *
  258.      * @return static
  259.      *
  260.      * @see https://schema.org/archivedAt
  261.      * @see https://pending.schema.org
  262.      * @link https://github.com/schemaorg/schemaorg/issues/2450
  263.      */
  264.     public function archivedAt($archivedAt)
  265.     {
  266.         return $this->setProperty('archivedAt'$archivedAt);
  267.     }
  268.     /**
  269.      * The item being described is intended to assess the competency or learning
  270.      * outcome defined by the referenced term.
  271.      *
  272.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|string|string[] $assesses
  273.      *
  274.      * @return static
  275.      *
  276.      * @see https://schema.org/assesses
  277.      * @see https://pending.schema.org
  278.      * @link https://github.com/schemaorg/schemaorg/issues/2427
  279.      */
  280.     public function assesses($assesses)
  281.     {
  282.         return $this->setProperty('assesses'$assesses);
  283.     }
  284.     /**
  285.      * A NewsArticle associated with the Media Object.
  286.      *
  287.      * @param \Spatie\SchemaOrg\Contracts\NewsArticleContract|\Spatie\SchemaOrg\Contracts\NewsArticleContract[] $associatedArticle
  288.      *
  289.      * @return static
  290.      *
  291.      * @see https://schema.org/associatedArticle
  292.      */
  293.     public function associatedArticle($associatedArticle)
  294.     {
  295.         return $this->setProperty('associatedArticle'$associatedArticle);
  296.     }
  297.     /**
  298.      * A media object that encodes this CreativeWork. This property is a synonym
  299.      * for encoding.
  300.      *
  301.      * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
  302.      *
  303.      * @return static
  304.      *
  305.      * @see https://schema.org/associatedMedia
  306.      */
  307.     public function associatedMedia($associatedMedia)
  308.     {
  309.         return $this->setProperty('associatedMedia'$associatedMedia);
  310.     }
  311.     /**
  312.      * An intended audience, i.e. a group for whom something was created.
  313.      *
  314.      * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
  315.      *
  316.      * @return static
  317.      *
  318.      * @see https://schema.org/audience
  319.      */
  320.     public function audience($audience)
  321.     {
  322.         return $this->setProperty('audience'$audience);
  323.     }
  324.     /**
  325.      * An embedded audio object.
  326.      *
  327.      * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\MusicRecordingContract|\Spatie\SchemaOrg\Contracts\MusicRecordingContract[] $audio
  328.      *
  329.      * @return static
  330.      *
  331.      * @see https://schema.org/audio
  332.      * @link https://github.com/schemaorg/schemaorg/issues/2420
  333.      */
  334.     public function audio($audio)
  335.     {
  336.         return $this->setProperty('audio'$audio);
  337.     }
  338.     /**
  339.      * The author of this content or rating. Please note that author is special
  340.      * in that HTML 5 provides a special mechanism for indicating authorship via
  341.      * the rel tag. That is equivalent to this and may be used interchangeably.
  342.      *
  343.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
  344.      *
  345.      * @return static
  346.      *
  347.      * @see https://schema.org/author
  348.      */
  349.     public function author($author)
  350.     {
  351.         return $this->setProperty('author'$author);
  352.     }
  353.     /**
  354.      * An award won by or for this item.
  355.      *
  356.      * @param string|string[] $award
  357.      *
  358.      * @return static
  359.      *
  360.      * @see https://schema.org/award
  361.      */
  362.     public function award($award)
  363.     {
  364.         return $this->setProperty('award'$award);
  365.     }
  366.     /**
  367.      * Awards won by or for this item.
  368.      *
  369.      * @param string|string[] $awards
  370.      *
  371.      * @return static
  372.      *
  373.      * @see https://schema.org/awards
  374.      */
  375.     public function awards($awards)
  376.     {
  377.         return $this->setProperty('awards'$awards);
  378.     }
  379.     /**
  380.      * The bitrate of the media object.
  381.      *
  382.      * @param string|string[] $bitrate
  383.      *
  384.      * @return static
  385.      *
  386.      * @see https://schema.org/bitrate
  387.      */
  388.     public function bitrate($bitrate)
  389.     {
  390.         return $this->setProperty('bitrate'$bitrate);
  391.     }
  392.     /**
  393.      * The caption for this object. For downloadable machine formats (closed
  394.      * caption, subtitles etc.) use MediaObject and indicate the
  395.      * [[encodingFormat]].
  396.      *
  397.      * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[]|string|string[] $caption
  398.      *
  399.      * @return static
  400.      *
  401.      * @see https://schema.org/caption
  402.      */
  403.     public function caption($caption)
  404.     {
  405.         return $this->setProperty('caption'$caption);
  406.     }
  407.     /**
  408.      * Fictional person connected with a creative work.
  409.      *
  410.      * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
  411.      *
  412.      * @return static
  413.      *
  414.      * @see https://schema.org/character
  415.      */
  416.     public function character($character)
  417.     {
  418.         return $this->setProperty('character'$character);
  419.     }
  420.     /**
  421.      * A citation or reference to another creative work, such as another
  422.      * publication, web page, scholarly article, etc.
  423.      *
  424.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
  425.      *
  426.      * @return static
  427.      *
  428.      * @see https://schema.org/citation
  429.      */
  430.     public function citation($citation)
  431.     {
  432.         return $this->setProperty('citation'$citation);
  433.     }
  434.     /**
  435.      * Comments, typically from users.
  436.      *
  437.      * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
  438.      *
  439.      * @return static
  440.      *
  441.      * @see https://schema.org/comment
  442.      */
  443.     public function comment($comment)
  444.     {
  445.         return $this->setProperty('comment'$comment);
  446.     }
  447.     /**
  448.      * The number of comments this CreativeWork (e.g. Article, Question or
  449.      * Answer) has received. This is most applicable to works published in Web
  450.      * sites with commenting system; additional comments may exist elsewhere.
  451.      *
  452.      * @param int|int[] $commentCount
  453.      *
  454.      * @return static
  455.      *
  456.      * @see https://schema.org/commentCount
  457.      */
  458.     public function commentCount($commentCount)
  459.     {
  460.         return $this->setProperty('commentCount'$commentCount);
  461.     }
  462.     /**
  463.      * Conditions that affect the availability of, or method(s) of access to, an
  464.      * item. Typically used for real world items such as an [[ArchiveComponent]]
  465.      * held by an [[ArchiveOrganization]]. This property is not suitable for use
  466.      * as a general Web access control mechanism. It is expressed only in
  467.      * natural language.
  468.      *
  469.      * For example "Available by appointment from the Reading Room" or
  470.      * "Accessible only from logged-in accounts ".
  471.      *
  472.      * @param string|string[] $conditionsOfAccess
  473.      *
  474.      * @return static
  475.      *
  476.      * @see https://schema.org/conditionsOfAccess
  477.      * @see https://pending.schema.org
  478.      * @link https://github.com/schemaorg/schemaorg/issues/2173
  479.      */
  480.     public function conditionsOfAccess($conditionsOfAccess)
  481.     {
  482.         return $this->setProperty('conditionsOfAccess'$conditionsOfAccess);
  483.     }
  484.     /**
  485.      * The location depicted or described in the content. For example, the
  486.      * location in a photograph or painting.
  487.      *
  488.      * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
  489.      *
  490.      * @return static
  491.      *
  492.      * @see https://schema.org/contentLocation
  493.      */
  494.     public function contentLocation($contentLocation)
  495.     {
  496.         return $this->setProperty('contentLocation'$contentLocation);
  497.     }
  498.     /**
  499.      * Official rating of a piece of content&#x2014;for example, 'MPAA PG-13'.
  500.      *
  501.      * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
  502.      *
  503.      * @return static
  504.      *
  505.      * @see https://schema.org/contentRating
  506.      */
  507.     public function contentRating($contentRating)
  508.     {
  509.         return $this->setProperty('contentRating'$contentRating);
  510.     }
  511.     /**
  512.      * The specific time described by a creative work, for works (e.g. articles,
  513.      * video objects etc.) that emphasise a particular moment within an Event.
  514.      *
  515.      * @param \DateTimeInterface|\DateTimeInterface[] $contentReferenceTime
  516.      *
  517.      * @return static
  518.      *
  519.      * @see https://schema.org/contentReferenceTime
  520.      * @see https://pending.schema.org
  521.      * @link https://github.com/schemaorg/schemaorg/issues/1050
  522.      */
  523.     public function contentReferenceTime($contentReferenceTime)
  524.     {
  525.         return $this->setProperty('contentReferenceTime'$contentReferenceTime);
  526.     }
  527.     /**
  528.      * File size in (mega/kilo)bytes.
  529.      *
  530.      * @param string|string[] $contentSize
  531.      *
  532.      * @return static
  533.      *
  534.      * @see https://schema.org/contentSize
  535.      */
  536.     public function contentSize($contentSize)
  537.     {
  538.         return $this->setProperty('contentSize'$contentSize);
  539.     }
  540.     /**
  541.      * Actual bytes of the media object, for example the image file or video
  542.      * file.
  543.      *
  544.      * @param string|string[] $contentUrl
  545.      *
  546.      * @return static
  547.      *
  548.      * @see https://schema.org/contentUrl
  549.      */
  550.     public function contentUrl($contentUrl)
  551.     {
  552.         return $this->setProperty('contentUrl'$contentUrl);
  553.     }
  554.     /**
  555.      * A secondary contributor to the CreativeWork or Event.
  556.      *
  557.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
  558.      *
  559.      * @return static
  560.      *
  561.      * @see https://schema.org/contributor
  562.      */
  563.     public function contributor($contributor)
  564.     {
  565.         return $this->setProperty('contributor'$contributor);
  566.     }
  567.     /**
  568.      * The party holding the legal copyright to the CreativeWork.
  569.      *
  570.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
  571.      *
  572.      * @return static
  573.      *
  574.      * @see https://schema.org/copyrightHolder
  575.      */
  576.     public function copyrightHolder($copyrightHolder)
  577.     {
  578.         return $this->setProperty('copyrightHolder'$copyrightHolder);
  579.     }
  580.     /**
  581.      * Text of a notice appropriate for describing the copyright aspects of this
  582.      * Creative Work, ideally indicating the owner of the copyright for the
  583.      * Work.
  584.      *
  585.      * @param string|string[] $copyrightNotice
  586.      *
  587.      * @return static
  588.      *
  589.      * @see https://schema.org/copyrightNotice
  590.      * @see https://pending.schema.org
  591.      * @link https://github.com/schemaorg/schemaorg/issues/2659
  592.      */
  593.     public function copyrightNotice($copyrightNotice)
  594.     {
  595.         return $this->setProperty('copyrightNotice'$copyrightNotice);
  596.     }
  597.     /**
  598.      * The year during which the claimed copyright for the CreativeWork was
  599.      * first asserted.
  600.      *
  601.      * @param float|float[]|int|int[] $copyrightYear
  602.      *
  603.      * @return static
  604.      *
  605.      * @see https://schema.org/copyrightYear
  606.      */
  607.     public function copyrightYear($copyrightYear)
  608.     {
  609.         return $this->setProperty('copyrightYear'$copyrightYear);
  610.     }
  611.     /**
  612.      * Indicates a correction to a [[CreativeWork]], either via a
  613.      * [[CorrectionComment]], textually or in another document.
  614.      *
  615.      * @param \Spatie\SchemaOrg\Contracts\CorrectionCommentContract|\Spatie\SchemaOrg\Contracts\CorrectionCommentContract[]|string|string[] $correction
  616.      *
  617.      * @return static
  618.      *
  619.      * @see https://schema.org/correction
  620.      * @see https://pending.schema.org
  621.      * @link https://github.com/schemaorg/schemaorg/issues/1950
  622.      */
  623.     public function correction($correction)
  624.     {
  625.         return $this->setProperty('correction'$correction);
  626.     }
  627.     /**
  628.      * The country of origin of something, including products as well as
  629.      * creative  works such as movie and TV content.
  630.      *
  631.      * In the case of TV and movie, this would be the country of the principle
  632.      * offices of the production company or individual responsible for the
  633.      * movie. For other kinds of [[CreativeWork]] it is difficult to provide
  634.      * fully general guidance, and properties such as [[contentLocation]] and
  635.      * [[locationCreated]] may be more applicable.
  636.      *
  637.      * In the case of products, the country of origin of the product. The exact
  638.      * interpretation of this may vary by context and product type, and cannot
  639.      * be fully enumerated here.
  640.      *
  641.      * @param \Spatie\SchemaOrg\Contracts\CountryContract|\Spatie\SchemaOrg\Contracts\CountryContract[] $countryOfOrigin
  642.      *
  643.      * @return static
  644.      *
  645.      * @see https://schema.org/countryOfOrigin
  646.      */
  647.     public function countryOfOrigin($countryOfOrigin)
  648.     {
  649.         return $this->setProperty('countryOfOrigin'$countryOfOrigin);
  650.     }
  651.     /**
  652.      * The status of a creative work in terms of its stage in a lifecycle.
  653.      * Example terms include Incomplete, Draft, Published, Obsolete. Some
  654.      * organizations define a set of terms for the stages of their publication
  655.      * lifecycle.
  656.      *
  657.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|string|string[] $creativeWorkStatus
  658.      *
  659.      * @return static
  660.      *
  661.      * @see https://schema.org/creativeWorkStatus
  662.      * @see https://pending.schema.org
  663.      * @link https://github.com/schemaorg/schemaorg/issues/987
  664.      */
  665.     public function creativeWorkStatus($creativeWorkStatus)
  666.     {
  667.         return $this->setProperty('creativeWorkStatus'$creativeWorkStatus);
  668.     }
  669.     /**
  670.      * The creator/author of this CreativeWork. This is the same as the Author
  671.      * property for CreativeWork.
  672.      *
  673.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
  674.      *
  675.      * @return static
  676.      *
  677.      * @see https://schema.org/creator
  678.      */
  679.     public function creator($creator)
  680.     {
  681.         return $this->setProperty('creator'$creator);
  682.     }
  683.     /**
  684.      * Text that can be used to credit person(s) and/or organization(s)
  685.      * associated with a published Creative Work.
  686.      *
  687.      * @param string|string[] $creditText
  688.      *
  689.      * @return static
  690.      *
  691.      * @see https://schema.org/creditText
  692.      * @see https://pending.schema.org
  693.      * @link https://github.com/schemaorg/schemaorg/issues/2659
  694.      */
  695.     public function creditText($creditText)
  696.     {
  697.         return $this->setProperty('creditText'$creditText);
  698.     }
  699.     /**
  700.      * The date on which the CreativeWork was created or the item was added to a
  701.      * DataFeed.
  702.      *
  703.      * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
  704.      *
  705.      * @return static
  706.      *
  707.      * @see https://schema.org/dateCreated
  708.      */
  709.     public function dateCreated($dateCreated)
  710.     {
  711.         return $this->setProperty('dateCreated'$dateCreated);
  712.     }
  713.     /**
  714.      * The date on which the CreativeWork was most recently modified or when the
  715.      * item's entry was modified within a DataFeed.
  716.      *
  717.      * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
  718.      *
  719.      * @return static
  720.      *
  721.      * @see https://schema.org/dateModified
  722.      */
  723.     public function dateModified($dateModified)
  724.     {
  725.         return $this->setProperty('dateModified'$dateModified);
  726.     }
  727.     /**
  728.      * Date of first publication or broadcast. For example the date a
  729.      * [[CreativeWork]] was broadcast or a [[Certification]] was issued.
  730.      *
  731.      * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
  732.      *
  733.      * @return static
  734.      *
  735.      * @see https://schema.org/datePublished
  736.      */
  737.     public function datePublished($datePublished)
  738.     {
  739.         return $this->setProperty('datePublished'$datePublished);
  740.     }
  741.     /**
  742.      * A description of the item.
  743.      *
  744.      * @param \Spatie\SchemaOrg\Contracts\TextObjectContract|\Spatie\SchemaOrg\Contracts\TextObjectContract[]|string|string[] $description
  745.      *
  746.      * @return static
  747.      *
  748.      * @see https://schema.org/description
  749.      */
  750.     public function description($description)
  751.     {
  752.         return $this->setProperty('description'$description);
  753.     }
  754.     /**
  755.      * Indicates an IPTCDigitalSourceEnumeration code indicating the nature of
  756.      * the digital source(s) for some [[CreativeWork]].
  757.      *
  758.      * @param \Spatie\SchemaOrg\Contracts\IPTCDigitalSourceEnumerationContract|\Spatie\SchemaOrg\Contracts\IPTCDigitalSourceEnumerationContract[] $digitalSourceType
  759.      *
  760.      * @return static
  761.      *
  762.      * @see https://schema.org/digitalSourceType
  763.      * @see https://pending.schema.org
  764.      * @link https://github.com/schemaorg/schemaorg/issues/3392
  765.      */
  766.     public function digitalSourceType($digitalSourceType)
  767.     {
  768.         return $this->setProperty('digitalSourceType'$digitalSourceType);
  769.     }
  770.     /**
  771.      * A sub property of description. A short description of the item used to
  772.      * disambiguate from other, similar items. Information from other properties
  773.      * (in particular, name) may be necessary for the description to be useful
  774.      * for disambiguation.
  775.      *
  776.      * @param string|string[] $disambiguatingDescription
  777.      *
  778.      * @return static
  779.      *
  780.      * @see https://schema.org/disambiguatingDescription
  781.      */
  782.     public function disambiguatingDescription($disambiguatingDescription)
  783.     {
  784.         return $this->setProperty('disambiguatingDescription'$disambiguatingDescription);
  785.     }
  786.     /**
  787.      * A link to the page containing the comments of the CreativeWork.
  788.      *
  789.      * @param string|string[] $discussionUrl
  790.      *
  791.      * @return static
  792.      *
  793.      * @see https://schema.org/discussionUrl
  794.      */
  795.     public function discussionUrl($discussionUrl)
  796.     {
  797.         return $this->setProperty('discussionUrl'$discussionUrl);
  798.     }
  799.     /**
  800.      * The duration of the item (movie, audio recording, event, etc.) in [ISO
  801.      * 8601 duration format](http://en.wikipedia.org/wiki/ISO_8601).
  802.      *
  803.      * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $duration
  804.      *
  805.      * @return static
  806.      *
  807.      * @see https://schema.org/duration
  808.      */
  809.     public function duration($duration)
  810.     {
  811.         return $this->setProperty('duration'$duration);
  812.     }
  813.     /**
  814.      * An [EIDR](https://eidr.org/) (Entertainment Identifier Registry)
  815.      * [[identifier]] representing a specific edit / edition for a work of film
  816.      * or television.
  817.      *
  818.      * For example, the motion picture known as "Ghostbusters" whose
  819.      * [[titleEIDR]] is "10.5240/7EC7-228A-510A-053E-CBB8-J" has several edits,
  820.      * e.g. "10.5240/1F2A-E1C5-680A-14C6-E76B-I" and
  821.      * "10.5240/8A35-3BEE-6497-5D12-9E4F-3".
  822.      *
  823.      * Since schema.org types like [[Movie]] and [[TVEpisode]] can be used for
  824.      * both works and their multiple expressions, it is possible to use
  825.      * [[titleEIDR]] alone (for a general description), or alongside
  826.      * [[editEIDR]] for a more edit-specific description.
  827.      *
  828.      * @param string|string[] $editEIDR
  829.      *
  830.      * @return static
  831.      *
  832.      * @see https://schema.org/editEIDR
  833.      * @see https://pending.schema.org
  834.      * @link https://github.com/schemaorg/schemaorg/issues/2469
  835.      */
  836.     public function editEIDR($editEIDR)
  837.     {
  838.         return $this->setProperty('editEIDR'$editEIDR);
  839.     }
  840.     /**
  841.      * Specifies the Person who edited the CreativeWork.
  842.      *
  843.      * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
  844.      *
  845.      * @return static
  846.      *
  847.      * @see https://schema.org/editor
  848.      */
  849.     public function editor($editor)
  850.     {
  851.         return $this->setProperty('editor'$editor);
  852.     }
  853.     /**
  854.      * An alignment to an established educational framework.
  855.      *
  856.      * This property should not be used where the nature of the alignment can be
  857.      * described using a simple property, for example to express that a resource
  858.      * [[teaches]] or [[assesses]] a competency.
  859.      *
  860.      * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
  861.      *
  862.      * @return static
  863.      *
  864.      * @see https://schema.org/educationalAlignment
  865.      */
  866.     public function educationalAlignment($educationalAlignment)
  867.     {
  868.         return $this->setProperty('educationalAlignment'$educationalAlignment);
  869.     }
  870.     /**
  871.      * The level in terms of progression through an educational or training
  872.      * context. Examples of educational levels include 'beginner',
  873.      * 'intermediate' or 'advanced', and formal sets of level indicators.
  874.      *
  875.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|string|string[] $educationalLevel
  876.      *
  877.      * @return static
  878.      *
  879.      * @see https://schema.org/educationalLevel
  880.      * @see https://pending.schema.org
  881.      * @link https://github.com/schemaorg/schemaorg/issues/1779
  882.      */
  883.     public function educationalLevel($educationalLevel)
  884.     {
  885.         return $this->setProperty('educationalLevel'$educationalLevel);
  886.     }
  887.     /**
  888.      * The purpose of a work in the context of education; for example,
  889.      * 'assignment', 'group work'.
  890.      *
  891.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|string|string[] $educationalUse
  892.      *
  893.      * @return static
  894.      *
  895.      * @see https://schema.org/educationalUse
  896.      */
  897.     public function educationalUse($educationalUse)
  898.     {
  899.         return $this->setProperty('educationalUse'$educationalUse);
  900.     }
  901.     /**
  902.      * A URL pointing to a player for a specific video. In general, this is the
  903.      * information in the ```src``` element of an ```embed``` tag and should not
  904.      * be the same as the content of the ```loc``` tag.
  905.      *
  906.      * @param string|string[] $embedUrl
  907.      *
  908.      * @return static
  909.      *
  910.      * @see https://schema.org/embedUrl
  911.      */
  912.     public function embedUrl($embedUrl)
  913.     {
  914.         return $this->setProperty('embedUrl'$embedUrl);
  915.     }
  916.     /**
  917.      * Represents textual captioning from a [[MediaObject]], e.g. text of a
  918.      * 'meme'.
  919.      *
  920.      * @param string|string[] $embeddedTextCaption
  921.      *
  922.      * @return static
  923.      *
  924.      * @see https://schema.org/embeddedTextCaption
  925.      * @see https://pending.schema.org
  926.      * @link https://github.com/schemaorg/schemaorg/issues/2450
  927.      */
  928.     public function embeddedTextCaption($embeddedTextCaption)
  929.     {
  930.         return $this->setProperty('embeddedTextCaption'$embeddedTextCaption);
  931.     }
  932.     /**
  933.      * The CreativeWork encoded by this media object.
  934.      *
  935.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $encodesCreativeWork
  936.      *
  937.      * @return static
  938.      *
  939.      * @see https://schema.org/encodesCreativeWork
  940.      */
  941.     public function encodesCreativeWork($encodesCreativeWork)
  942.     {
  943.         return $this->setProperty('encodesCreativeWork'$encodesCreativeWork);
  944.     }
  945.     /**
  946.      * A media object that encodes this CreativeWork. This property is a synonym
  947.      * for associatedMedia.
  948.      *
  949.      * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
  950.      *
  951.      * @return static
  952.      *
  953.      * @see https://schema.org/encoding
  954.      */
  955.     public function encoding($encoding)
  956.     {
  957.         return $this->setProperty('encoding'$encoding);
  958.     }
  959.     /**
  960.      * Media type typically expressed using a MIME format (see [IANA
  961.      * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
  962.      * [MDN
  963.      * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types)),
  964.      * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
  965.      * .mp3 etc.
  966.      *
  967.      * In cases where a [[CreativeWork]] has several media type representations,
  968.      * [[encoding]] can be used to indicate each [[MediaObject]] alongside
  969.      * particular [[encodingFormat]] information.
  970.      *
  971.      * Unregistered or niche encoding and file formats can be indicated instead
  972.      * via the most appropriate URL, e.g. defining Web page or a
  973.      * Wikipedia/Wikidata entry.
  974.      *
  975.      * @param string|string[] $encodingFormat
  976.      *
  977.      * @return static
  978.      *
  979.      * @see https://schema.org/encodingFormat
  980.      */
  981.     public function encodingFormat($encodingFormat)
  982.     {
  983.         return $this->setProperty('encodingFormat'$encodingFormat);
  984.     }
  985.     /**
  986.      * A media object that encodes this CreativeWork.
  987.      *
  988.      * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
  989.      *
  990.      * @return static
  991.      *
  992.      * @see https://schema.org/encodings
  993.      */
  994.     public function encodings($encodings)
  995.     {
  996.         return $this->setProperty('encodings'$encodings);
  997.     }
  998.     /**
  999.      * The endTime of something. For a reserved event or service (e.g.
  1000.      * FoodEstablishmentReservation), the time that it is expected to end. For
  1001.      * actions that span a period of time, when the action was performed. E.g.
  1002.      * John wrote a book from January to *December*. For media, including audio
  1003.      * and video, it's the time offset of the end of a clip within a larger
  1004.      * file.
  1005.      *
  1006.      * Note that Event uses startDate/endDate instead of startTime/endTime, even
  1007.      * when describing dates with times. This situation may be clarified in
  1008.      * future revisions.
  1009.      *
  1010.      * @param \DateTimeInterface|\DateTimeInterface[] $endTime
  1011.      *
  1012.      * @return static
  1013.      *
  1014.      * @see https://schema.org/endTime
  1015.      * @link https://github.com/schemaorg/schemaorg/issues/2493
  1016.      */
  1017.     public function endTime($endTime)
  1018.     {
  1019.         return $this->setProperty('endTime'$endTime);
  1020.     }
  1021.     /**
  1022.      * A creative work that this work is an
  1023.      * example/instance/realization/derivation of.
  1024.      *
  1025.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
  1026.      *
  1027.      * @return static
  1028.      *
  1029.      * @see https://schema.org/exampleOfWork
  1030.      */
  1031.     public function exampleOfWork($exampleOfWork)
  1032.     {
  1033.         return $this->setProperty('exampleOfWork'$exampleOfWork);
  1034.     }
  1035.     /**
  1036.      * exif data for this object.
  1037.      *
  1038.      * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $exifData
  1039.      *
  1040.      * @return static
  1041.      *
  1042.      * @see https://schema.org/exifData
  1043.      */
  1044.     public function exifData($exifData)
  1045.     {
  1046.         return $this->setProperty('exifData'$exifData);
  1047.     }
  1048.     /**
  1049.      * Date the content expires and is no longer useful or available. For
  1050.      * example a [[VideoObject]] or [[NewsArticle]] whose availability or
  1051.      * relevance is time-limited, a [[ClaimReview]] fact check whose publisher
  1052.      * wants to indicate that it may no longer be relevant (or helpful to
  1053.      * highlight) after some date, or a [[Certification]] the validity has
  1054.      * expired.
  1055.      *
  1056.      * @param \DateTimeInterface|\DateTimeInterface[] $expires
  1057.      *
  1058.      * @return static
  1059.      *
  1060.      * @see https://schema.org/expires
  1061.      */
  1062.     public function expires($expires)
  1063.     {
  1064.         return $this->setProperty('expires'$expires);
  1065.     }
  1066.     /**
  1067.      * Media type, typically MIME format (see [IANA
  1068.      * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
  1069.      * the content, e.g. application/zip of a SoftwareApplication binary. In
  1070.      * cases where a CreativeWork has several media type representations,
  1071.      * 'encoding' can be used to indicate each MediaObject alongside particular
  1072.      * fileFormat information. Unregistered or niche file formats can be
  1073.      * indicated instead via the most appropriate URL, e.g. defining Web page or
  1074.      * a Wikipedia entry.
  1075.      *
  1076.      * @param string|string[] $fileFormat
  1077.      *
  1078.      * @return static
  1079.      *
  1080.      * @see https://schema.org/fileFormat
  1081.      */
  1082.     public function fileFormat($fileFormat)
  1083.     {
  1084.         return $this->setProperty('fileFormat'$fileFormat);
  1085.     }
  1086.     /**
  1087.      * A person or organization that supports (sponsors) something through some
  1088.      * kind of financial contribution.
  1089.      *
  1090.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
  1091.      *
  1092.      * @return static
  1093.      *
  1094.      * @see https://schema.org/funder
  1095.      */
  1096.     public function funder($funder)
  1097.     {
  1098.         return $this->setProperty('funder'$funder);
  1099.     }
  1100.     /**
  1101.      * A [[Grant]] that directly or indirectly provide funding or sponsorship
  1102.      * for this item. See also [[ownershipFundingInfo]].
  1103.      *
  1104.      * @param \Spatie\SchemaOrg\Contracts\GrantContract|\Spatie\SchemaOrg\Contracts\GrantContract[] $funding
  1105.      *
  1106.      * @return static
  1107.      *
  1108.      * @see https://schema.org/funding
  1109.      * @see https://pending.schema.org
  1110.      * @link https://github.com/schemaorg/schemaorg/issues/383
  1111.      */
  1112.     public function funding($funding)
  1113.     {
  1114.         return $this->setProperty('funding'$funding);
  1115.     }
  1116.     /**
  1117.      * Genre of the creative work, broadcast channel or group.
  1118.      *
  1119.      * @param string|string[] $genre
  1120.      *
  1121.      * @return static
  1122.      *
  1123.      * @see https://schema.org/genre
  1124.      */
  1125.     public function genre($genre)
  1126.     {
  1127.         return $this->setProperty('genre'$genre);
  1128.     }
  1129.     /**
  1130.      * Indicates an item or CreativeWork that is part of this item, or
  1131.      * CreativeWork (in some sense).
  1132.      *
  1133.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
  1134.      *
  1135.      * @return static
  1136.      *
  1137.      * @see https://schema.org/hasPart
  1138.      */
  1139.     public function hasPart($hasPart)
  1140.     {
  1141.         return $this->setProperty('hasPart'$hasPart);
  1142.     }
  1143.     /**
  1144.      * Headline of the article.
  1145.      *
  1146.      * @param string|string[] $headline
  1147.      *
  1148.      * @return static
  1149.      *
  1150.      * @see https://schema.org/headline
  1151.      */
  1152.     public function headline($headline)
  1153.     {
  1154.         return $this->setProperty('headline'$headline);
  1155.     }
  1156.     /**
  1157.      * The height of the item.
  1158.      *
  1159.      * @param \Spatie\SchemaOrg\Contracts\DistanceContract|\Spatie\SchemaOrg\Contracts\DistanceContract[]|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $height
  1160.      *
  1161.      * @return static
  1162.      *
  1163.      * @see https://schema.org/height
  1164.      */
  1165.     public function height($height)
  1166.     {
  1167.         return $this->setProperty('height'$height);
  1168.     }
  1169.     /**
  1170.      * The identifier property represents any kind of identifier for any kind of
  1171.      * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
  1172.      * dedicated properties for representing many of these, either as textual
  1173.      * strings or as URL (URI) links. See [background
  1174.      * notes](/docs/datamodel.html#identifierBg) for more details.
  1175.      *
  1176.      * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
  1177.      *
  1178.      * @return static
  1179.      *
  1180.      * @see https://schema.org/identifier
  1181.      */
  1182.     public function identifier($identifier)
  1183.     {
  1184.         return $this->setProperty('identifier'$identifier);
  1185.     }
  1186.     /**
  1187.      * An image of the item. This can be a [[URL]] or a fully described
  1188.      * [[ImageObject]].
  1189.      *
  1190.      * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
  1191.      *
  1192.      * @return static
  1193.      *
  1194.      * @see https://schema.org/image
  1195.      */
  1196.     public function image($image)
  1197.     {
  1198.         return $this->setProperty('image'$image);
  1199.     }
  1200.     /**
  1201.      * The language of the content or performance or used in an action. Please
  1202.      * use one of the language codes from the [IETF BCP 47
  1203.      * standard](http://tools.ietf.org/html/bcp47). See also
  1204.      * [[availableLanguage]].
  1205.      *
  1206.      * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
  1207.      *
  1208.      * @return static
  1209.      *
  1210.      * @see https://schema.org/inLanguage
  1211.      * @link https://github.com/schemaorg/schemaorg/issues/2382
  1212.      */
  1213.     public function inLanguage($inLanguage)
  1214.     {
  1215.         return $this->setProperty('inLanguage'$inLanguage);
  1216.     }
  1217.     /**
  1218.      * The ISO 3166-1 (ISO 3166-1 alpha-2) or ISO 3166-2 code, the place, or the
  1219.      * GeoShape for the geo-political region(s) for which the offer or delivery
  1220.      * charge specification is not valid, e.g. a region where the transaction is
  1221.      * not allowed.
  1222.      *
  1223.      * See also [[eligibleRegion]].
  1224.      *
  1225.      * @param \Spatie\SchemaOrg\Contracts\GeoShapeContract|\Spatie\SchemaOrg\Contracts\GeoShapeContract[]|\Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[]|string|string[] $ineligibleRegion
  1226.      *
  1227.      * @return static
  1228.      *
  1229.      * @see https://schema.org/ineligibleRegion
  1230.      * @see https://pending.schema.org
  1231.      * @link https://github.com/schemaorg/schemaorg/issues/2242
  1232.      */
  1233.     public function ineligibleRegion($ineligibleRegion)
  1234.     {
  1235.         return $this->setProperty('ineligibleRegion'$ineligibleRegion);
  1236.     }
  1237.     /**
  1238.      * The number of interactions for the CreativeWork using the WebSite or
  1239.      * SoftwareApplication. The most specific child type of InteractionCounter
  1240.      * should be used.
  1241.      *
  1242.      * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
  1243.      *
  1244.      * @return static
  1245.      *
  1246.      * @see https://schema.org/interactionStatistic
  1247.      * @link https://github.com/schemaorg/schemaorg/issues/2421
  1248.      */
  1249.     public function interactionStatistic($interactionStatistic)
  1250.     {
  1251.         return $this->setProperty('interactionStatistic'$interactionStatistic);
  1252.     }
  1253.     /**
  1254.      * The predominant mode of learning supported by the learning resource.
  1255.      * Acceptable values are 'active', 'expositive', or 'mixed'.
  1256.      *
  1257.      * @param string|string[] $interactivityType
  1258.      *
  1259.      * @return static
  1260.      *
  1261.      * @see https://schema.org/interactivityType
  1262.      */
  1263.     public function interactivityType($interactivityType)
  1264.     {
  1265.         return $this->setProperty('interactivityType'$interactivityType);
  1266.     }
  1267.     /**
  1268.      * Used to indicate a specific claim contained, implied, translated or
  1269.      * refined from the content of a [[MediaObject]] or other [[CreativeWork]].
  1270.      * The interpreting party can be indicated using [[claimInterpreter]].
  1271.      *
  1272.      * @param \Spatie\SchemaOrg\Contracts\ClaimContract|\Spatie\SchemaOrg\Contracts\ClaimContract[] $interpretedAsClaim
  1273.      *
  1274.      * @return static
  1275.      *
  1276.      * @see https://schema.org/interpretedAsClaim
  1277.      * @see https://pending.schema.org
  1278.      * @link https://github.com/schemaorg/schemaorg/issues/2450
  1279.      */
  1280.     public function interpretedAsClaim($interpretedAsClaim)
  1281.     {
  1282.         return $this->setProperty('interpretedAsClaim'$interpretedAsClaim);
  1283.     }
  1284.     /**
  1285.      * A flag to signal that the item, event, or place is accessible for free.
  1286.      *
  1287.      * @param bool|bool[] $isAccessibleForFree
  1288.      *
  1289.      * @return static
  1290.      *
  1291.      * @see https://schema.org/isAccessibleForFree
  1292.      */
  1293.     public function isAccessibleForFree($isAccessibleForFree)
  1294.     {
  1295.         return $this->setProperty('isAccessibleForFree'$isAccessibleForFree);
  1296.     }
  1297.     /**
  1298.      * A resource from which this work is derived or from which it is a
  1299.      * modification or adaptation.
  1300.      *
  1301.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
  1302.      *
  1303.      * @return static
  1304.      *
  1305.      * @see https://schema.org/isBasedOn
  1306.      */
  1307.     public function isBasedOn($isBasedOn)
  1308.     {
  1309.         return $this->setProperty('isBasedOn'$isBasedOn);
  1310.     }
  1311.     /**
  1312.      * A resource that was used in the creation of this resource. This term can
  1313.      * be repeated for multiple sources. For example,
  1314.      * http://example.com/great-multiplication-intro.html.
  1315.      *
  1316.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
  1317.      *
  1318.      * @return static
  1319.      *
  1320.      * @see https://schema.org/isBasedOnUrl
  1321.      */
  1322.     public function isBasedOnUrl($isBasedOnUrl)
  1323.     {
  1324.         return $this->setProperty('isBasedOnUrl'$isBasedOnUrl);
  1325.     }
  1326.     /**
  1327.      * Indicates whether this content is family friendly.
  1328.      *
  1329.      * @param bool|bool[] $isFamilyFriendly
  1330.      *
  1331.      * @return static
  1332.      *
  1333.      * @see https://schema.org/isFamilyFriendly
  1334.      */
  1335.     public function isFamilyFriendly($isFamilyFriendly)
  1336.     {
  1337.         return $this->setProperty('isFamilyFriendly'$isFamilyFriendly);
  1338.     }
  1339.     /**
  1340.      * Indicates an item or CreativeWork that this item, or CreativeWork (in
  1341.      * some sense), is part of.
  1342.      *
  1343.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
  1344.      *
  1345.      * @return static
  1346.      *
  1347.      * @see https://schema.org/isPartOf
  1348.      */
  1349.     public function isPartOf($isPartOf)
  1350.     {
  1351.         return $this->setProperty('isPartOf'$isPartOf);
  1352.     }
  1353.     /**
  1354.      * Keywords or tags used to describe some item. Multiple textual entries in
  1355.      * a keywords list are typically delimited by commas, or by repeating the
  1356.      * property.
  1357.      *
  1358.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|string|string[] $keywords
  1359.      *
  1360.      * @return static
  1361.      *
  1362.      * @see https://schema.org/keywords
  1363.      */
  1364.     public function keywords($keywords)
  1365.     {
  1366.         return $this->setProperty('keywords'$keywords);
  1367.     }
  1368.     /**
  1369.      * The predominant type or kind characterizing the learning resource. For
  1370.      * example, 'presentation', 'handout'.
  1371.      *
  1372.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|string|string[] $learningResourceType
  1373.      *
  1374.      * @return static
  1375.      *
  1376.      * @see https://schema.org/learningResourceType
  1377.      */
  1378.     public function learningResourceType($learningResourceType)
  1379.     {
  1380.         return $this->setProperty('learningResourceType'$learningResourceType);
  1381.     }
  1382.     /**
  1383.      * A license document that applies to this content, typically indicated by
  1384.      * URL.
  1385.      *
  1386.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
  1387.      *
  1388.      * @return static
  1389.      *
  1390.      * @see https://schema.org/license
  1391.      */
  1392.     public function license($license)
  1393.     {
  1394.         return $this->setProperty('license'$license);
  1395.     }
  1396.     /**
  1397.      * The location where the CreativeWork was created, which may not be the
  1398.      * same as the location depicted in the CreativeWork.
  1399.      *
  1400.      * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
  1401.      *
  1402.      * @return static
  1403.      *
  1404.      * @see https://schema.org/locationCreated
  1405.      */
  1406.     public function locationCreated($locationCreated)
  1407.     {
  1408.         return $this->setProperty('locationCreated'$locationCreated);
  1409.     }
  1410.     /**
  1411.      * Indicates the primary entity described in some page or other
  1412.      * CreativeWork.
  1413.      *
  1414.      * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
  1415.      *
  1416.      * @return static
  1417.      *
  1418.      * @see https://schema.org/mainEntity
  1419.      */
  1420.     public function mainEntity($mainEntity)
  1421.     {
  1422.         return $this->setProperty('mainEntity'$mainEntity);
  1423.     }
  1424.     /**
  1425.      * Indicates a page (or other CreativeWork) for which this thing is the main
  1426.      * entity being described. See [background
  1427.      * notes](/docs/datamodel.html#mainEntityBackground) for details.
  1428.      *
  1429.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
  1430.      *
  1431.      * @return static
  1432.      *
  1433.      * @see https://schema.org/mainEntityOfPage
  1434.      */
  1435.     public function mainEntityOfPage($mainEntityOfPage)
  1436.     {
  1437.         return $this->setProperty('mainEntityOfPage'$mainEntityOfPage);
  1438.     }
  1439.     /**
  1440.      * A maintainer of a [[Dataset]], software package
  1441.      * ([[SoftwareApplication]]), or other [[Project]]. A maintainer is a
  1442.      * [[Person]] or [[Organization]] that manages contributions to, and/or
  1443.      * publication of, some (typically complex) artifact. It is common for
  1444.      * distributions of software and data to be based on "upstream" sources.
  1445.      * When [[maintainer]] is applied to a specific version of something e.g. a
  1446.      * particular version or packaging of a [[Dataset]], it is always  possible
  1447.      * that the upstream source has a different maintainer. The [[isBasedOn]]
  1448.      * property can be used to indicate such relationships between datasets to
  1449.      * make the different maintenance roles clear. Similarly in the case of
  1450.      * software, a package may have dedicated maintainers working on integration
  1451.      * into software distributions such as Ubuntu, as well as upstream
  1452.      * maintainers of the underlying work.
  1453.      *
  1454.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $maintainer
  1455.      *
  1456.      * @return static
  1457.      *
  1458.      * @see https://schema.org/maintainer
  1459.      * @see https://pending.schema.org
  1460.      * @link https://github.com/schemaorg/schemaorg/issues/2311
  1461.      */
  1462.     public function maintainer($maintainer)
  1463.     {
  1464.         return $this->setProperty('maintainer'$maintainer);
  1465.     }
  1466.     /**
  1467.      * A material that something is made from, e.g. leather, wool, cotton,
  1468.      * paper.
  1469.      *
  1470.      * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
  1471.      *
  1472.      * @return static
  1473.      *
  1474.      * @see https://schema.org/material
  1475.      */
  1476.     public function material($material)
  1477.     {
  1478.         return $this->setProperty('material'$material);
  1479.     }
  1480.     /**
  1481.      * The quantity of the materials being described or an expression of the
  1482.      * physical space they occupy.
  1483.      *
  1484.      * @param \Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[]|string|string[] $materialExtent
  1485.      *
  1486.      * @return static
  1487.      *
  1488.      * @see https://schema.org/materialExtent
  1489.      * @see https://pending.schema.org
  1490.      * @link https://github.com/schemaorg/schemaorg/issues/1759
  1491.      */
  1492.     public function materialExtent($materialExtent)
  1493.     {
  1494.         return $this->setProperty('materialExtent'$materialExtent);
  1495.     }
  1496.     /**
  1497.      * Indicates that the CreativeWork contains a reference to, but is not
  1498.      * necessarily about a concept.
  1499.      *
  1500.      * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
  1501.      *
  1502.      * @return static
  1503.      *
  1504.      * @see https://schema.org/mentions
  1505.      */
  1506.     public function mentions($mentions)
  1507.     {
  1508.         return $this->setProperty('mentions'$mentions);
  1509.     }
  1510.     /**
  1511.      * The name of the item.
  1512.      *
  1513.      * @param string|string[] $name
  1514.      *
  1515.      * @return static
  1516.      *
  1517.      * @see https://schema.org/name
  1518.      */
  1519.     public function name($name)
  1520.     {
  1521.         return $this->setProperty('name'$name);
  1522.     }
  1523.     /**
  1524.      * An offer to provide this item&#x2014;for example, an offer to sell a
  1525.      * product, rent the DVD of a movie, perform a service, or give away tickets
  1526.      * to an event. Use [[businessFunction]] to indicate the kind of transaction
  1527.      * offered, i.e. sell, lease, etc. This property can also be used to
  1528.      * describe a [[Demand]]. While this property is listed as expected on a
  1529.      * number of common types, it can be used in others. In that case, using a
  1530.      * second type, such as Product or a subtype of Product, can clarify the
  1531.      * nature of the offer.
  1532.      *
  1533.      * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
  1534.      *
  1535.      * @return static
  1536.      *
  1537.      * @see https://schema.org/offers
  1538.      * @link https://github.com/schemaorg/schemaorg/issues/2289
  1539.      */
  1540.     public function offers($offers)
  1541.     {
  1542.         return $this->setProperty('offers'$offers);
  1543.     }
  1544.     /**
  1545.      * A pattern that something has, for example 'polka dot', 'striped',
  1546.      * 'Canadian flag'. Values are typically expressed as text, although links
  1547.      * to controlled value schemes are also supported.
  1548.      *
  1549.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|string|string[] $pattern
  1550.      *
  1551.      * @return static
  1552.      *
  1553.      * @see https://schema.org/pattern
  1554.      * @see https://pending.schema.org
  1555.      * @link https://github.com/schemaorg/schemaorg/issues/1797
  1556.      */
  1557.     public function pattern($pattern)
  1558.     {
  1559.         return $this->setProperty('pattern'$pattern);
  1560.     }
  1561.     /**
  1562.      * Player type required&#x2014;for example, Flash or Silverlight.
  1563.      *
  1564.      * @param string|string[] $playerType
  1565.      *
  1566.      * @return static
  1567.      *
  1568.      * @see https://schema.org/playerType
  1569.      */
  1570.     public function playerType($playerType)
  1571.     {
  1572.         return $this->setProperty('playerType'$playerType);
  1573.     }
  1574.     /**
  1575.      * The position of an item in a series or sequence of items.
  1576.      *
  1577.      * @param int|int[]|string|string[] $position
  1578.      *
  1579.      * @return static
  1580.      *
  1581.      * @see https://schema.org/position
  1582.      */
  1583.     public function position($position)
  1584.     {
  1585.         return $this->setProperty('position'$position);
  1586.     }
  1587.     /**
  1588.      * Indicates a potential Action, which describes an idealized action in
  1589.      * which this thing would play an 'object' role.
  1590.      *
  1591.      * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
  1592.      *
  1593.      * @return static
  1594.      *
  1595.      * @see https://schema.org/potentialAction
  1596.      */
  1597.     public function potentialAction($potentialAction)
  1598.     {
  1599.         return $this->setProperty('potentialAction'$potentialAction);
  1600.     }
  1601.     /**
  1602.      * The person or organization who produced the work (e.g. music album,
  1603.      * movie, TV/radio series etc.).
  1604.      *
  1605.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
  1606.      *
  1607.      * @return static
  1608.      *
  1609.      * @see https://schema.org/producer
  1610.      */
  1611.     public function producer($producer)
  1612.     {
  1613.         return $this->setProperty('producer'$producer);
  1614.     }
  1615.     /**
  1616.      * The production company or studio responsible for the item, e.g. series,
  1617.      * video game, episode etc.
  1618.      *
  1619.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $productionCompany
  1620.      *
  1621.      * @return static
  1622.      *
  1623.      * @see https://schema.org/productionCompany
  1624.      */
  1625.     public function productionCompany($productionCompany)
  1626.     {
  1627.         return $this->setProperty('productionCompany'$productionCompany);
  1628.     }
  1629.     /**
  1630.      * The service provider, service operator, or service performer; the goods
  1631.      * producer. Another party (a seller) may offer those services or goods on
  1632.      * behalf of the provider. A provider may also serve as the seller.
  1633.      *
  1634.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
  1635.      *
  1636.      * @return static
  1637.      *
  1638.      * @see https://schema.org/provider
  1639.      * @see https://pending.schema.org
  1640.      */
  1641.     public function provider($provider)
  1642.     {
  1643.         return $this->setProperty('provider'$provider);
  1644.     }
  1645.     /**
  1646.      * A publication event associated with the item.
  1647.      *
  1648.      * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
  1649.      *
  1650.      * @return static
  1651.      *
  1652.      * @see https://schema.org/publication
  1653.      */
  1654.     public function publication($publication)
  1655.     {
  1656.         return $this->setProperty('publication'$publication);
  1657.     }
  1658.     /**
  1659.      * The publisher of the creative work.
  1660.      *
  1661.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
  1662.      *
  1663.      * @return static
  1664.      *
  1665.      * @see https://schema.org/publisher
  1666.      */
  1667.     public function publisher($publisher)
  1668.     {
  1669.         return $this->setProperty('publisher'$publisher);
  1670.     }
  1671.     /**
  1672.      * The publishing division which published the comic.
  1673.      *
  1674.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $publisherImprint
  1675.      *
  1676.      * @return static
  1677.      *
  1678.      * @see https://schema.org/publisherImprint
  1679.      * @see https://bib.schema.org
  1680.      */
  1681.     public function publisherImprint($publisherImprint)
  1682.     {
  1683.         return $this->setProperty('publisherImprint'$publisherImprint);
  1684.     }
  1685.     /**
  1686.      * The publishingPrinciples property indicates (typically via [[URL]]) a
  1687.      * document describing the editorial principles of an [[Organization]] (or
  1688.      * individual, e.g. a [[Person]] writing a blog) that relate to their
  1689.      * activities as a publisher, e.g. ethics or diversity policies. When
  1690.      * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
  1691.      * those of the party primarily responsible for the creation of the
  1692.      * [[CreativeWork]].
  1693.      *
  1694.      * While such policies are most typically expressed in natural language,
  1695.      * sometimes related information (e.g. indicating a [[funder]]) can be
  1696.      * expressed using schema.org terminology.
  1697.      *
  1698.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
  1699.      *
  1700.      * @return static
  1701.      *
  1702.      * @see https://schema.org/publishingPrinciples
  1703.      */
  1704.     public function publishingPrinciples($publishingPrinciples)
  1705.     {
  1706.         return $this->setProperty('publishingPrinciples'$publishingPrinciples);
  1707.     }
  1708.     /**
  1709.      * The Event where the CreativeWork was recorded. The CreativeWork may
  1710.      * capture all or part of the event.
  1711.      *
  1712.      * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
  1713.      *
  1714.      * @return static
  1715.      *
  1716.      * @see https://schema.org/recordedAt
  1717.      */
  1718.     public function recordedAt($recordedAt)
  1719.     {
  1720.         return $this->setProperty('recordedAt'$recordedAt);
  1721.     }
  1722.     /**
  1723.      * The regions where the media is allowed. If not specified, then it's
  1724.      * assumed to be allowed everywhere. Specify the countries in [ISO 3166
  1725.      * format](http://en.wikipedia.org/wiki/ISO_3166).
  1726.      *
  1727.      * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $regionsAllowed
  1728.      *
  1729.      * @return static
  1730.      *
  1731.      * @see https://schema.org/regionsAllowed
  1732.      */
  1733.     public function regionsAllowed($regionsAllowed)
  1734.     {
  1735.         return $this->setProperty('regionsAllowed'$regionsAllowed);
  1736.     }
  1737.     /**
  1738.      * The place and time the release was issued, expressed as a
  1739.      * PublicationEvent.
  1740.      *
  1741.      * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
  1742.      *
  1743.      * @return static
  1744.      *
  1745.      * @see https://schema.org/releasedEvent
  1746.      */
  1747.     public function releasedEvent($releasedEvent)
  1748.     {
  1749.         return $this->setProperty('releasedEvent'$releasedEvent);
  1750.     }
  1751.     /**
  1752.      * Indicates whether this image is representative of the content of the
  1753.      * page.
  1754.      *
  1755.      * @param bool|bool[] $representativeOfPage
  1756.      *
  1757.      * @return static
  1758.      *
  1759.      * @see https://schema.org/representativeOfPage
  1760.      */
  1761.     public function representativeOfPage($representativeOfPage)
  1762.     {
  1763.         return $this->setProperty('representativeOfPage'$representativeOfPage);
  1764.     }
  1765.     /**
  1766.      * Indicates if use of the media require a subscription  (either paid or
  1767.      * free). Allowed values are ```true``` or ```false``` (note that an earlier
  1768.      * version had 'yes', 'no').
  1769.      *
  1770.      * @param \Spatie\SchemaOrg\Contracts\MediaSubscriptionContract|\Spatie\SchemaOrg\Contracts\MediaSubscriptionContract[]|bool|bool[] $requiresSubscription
  1771.      *
  1772.      * @return static
  1773.      *
  1774.      * @see https://schema.org/requiresSubscription
  1775.      * @link https://github.com/schemaorg/schemaorg/issues/1741
  1776.      */
  1777.     public function requiresSubscription($requiresSubscription)
  1778.     {
  1779.         return $this->setProperty('requiresSubscription'$requiresSubscription);
  1780.     }
  1781.     /**
  1782.      * A review of the item.
  1783.      *
  1784.      * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
  1785.      *
  1786.      * @return static
  1787.      *
  1788.      * @see https://schema.org/review
  1789.      */
  1790.     public function review($review)
  1791.     {
  1792.         return $this->setProperty('review'$review);
  1793.     }
  1794.     /**
  1795.      * Review of the item.
  1796.      *
  1797.      * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
  1798.      *
  1799.      * @return static
  1800.      *
  1801.      * @see https://schema.org/reviews
  1802.      */
  1803.     public function reviews($reviews)
  1804.     {
  1805.         return $this->setProperty('reviews'$reviews);
  1806.     }
  1807.     /**
  1808.      * URL of a reference Web page that unambiguously indicates the item's
  1809.      * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
  1810.      * official website.
  1811.      *
  1812.      * @param string|string[] $sameAs
  1813.      *
  1814.      * @return static
  1815.      *
  1816.      * @see https://schema.org/sameAs
  1817.      */
  1818.     public function sameAs($sameAs)
  1819.     {
  1820.         return $this->setProperty('sameAs'$sameAs);
  1821.     }
  1822.     /**
  1823.      * Indicates (by URL or string) a particular version of a schema used in
  1824.      * some CreativeWork. This property was created primarily to
  1825.      *     indicate the use of a specific schema.org release, e.g. ```10.0``` as
  1826.      * a simple string, or more explicitly via URL,
  1827.      * ```https://schema.org/docs/releases.html#v10.0```. There may be
  1828.      * situations in which other schemas might usefully be referenced this way,
  1829.      * e.g.
  1830.      * ```http://dublincore.org/specifications/dublin-core/dces/1999-07-02/```
  1831.      * but this has not been carefully explored in the community.
  1832.      *
  1833.      * @param string|string[] $schemaVersion
  1834.      *
  1835.      * @return static
  1836.      *
  1837.      * @see https://schema.org/schemaVersion
  1838.      */
  1839.     public function schemaVersion($schemaVersion)
  1840.     {
  1841.         return $this->setProperty('schemaVersion'$schemaVersion);
  1842.     }
  1843.     /**
  1844.      * Indicates the date on which the current structured data was generated /
  1845.      * published. Typically used alongside [[sdPublisher]].
  1846.      *
  1847.      * @param \DateTimeInterface|\DateTimeInterface[] $sdDatePublished
  1848.      *
  1849.      * @return static
  1850.      *
  1851.      * @see https://schema.org/sdDatePublished
  1852.      * @see https://pending.schema.org
  1853.      * @link https://github.com/schemaorg/schemaorg/issues/1886
  1854.      */
  1855.     public function sdDatePublished($sdDatePublished)
  1856.     {
  1857.         return $this->setProperty('sdDatePublished'$sdDatePublished);
  1858.     }
  1859.     /**
  1860.      * A license document that applies to this structured data, typically
  1861.      * indicated by URL.
  1862.      *
  1863.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $sdLicense
  1864.      *
  1865.      * @return static
  1866.      *
  1867.      * @see https://schema.org/sdLicense
  1868.      * @see https://pending.schema.org
  1869.      * @link https://github.com/schemaorg/schemaorg/issues/1886
  1870.      */
  1871.     public function sdLicense($sdLicense)
  1872.     {
  1873.         return $this->setProperty('sdLicense'$sdLicense);
  1874.     }
  1875.     /**
  1876.      * Indicates the party responsible for generating and publishing the current
  1877.      * structured data markup, typically in cases where the structured data is
  1878.      * derived automatically from existing published content but published on a
  1879.      * different site. For example, student projects and open data initiatives
  1880.      * often re-publish existing content with more explicitly structured
  1881.      * metadata. The
  1882.      * [[sdPublisher]] property helps make such practices more explicit.
  1883.      *
  1884.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sdPublisher
  1885.      *
  1886.      * @return static
  1887.      *
  1888.      * @see https://schema.org/sdPublisher
  1889.      * @see https://pending.schema.org
  1890.      * @link https://github.com/schemaorg/schemaorg/issues/1886
  1891.      */
  1892.     public function sdPublisher($sdPublisher)
  1893.     {
  1894.         return $this->setProperty('sdPublisher'$sdPublisher);
  1895.     }
  1896.     /**
  1897.      * The [SHA-2](https://en.wikipedia.org/wiki/SHA-2) SHA256 hash of the
  1898.      * content of the item. For example, a zero-length input has value
  1899.      * 'e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'.
  1900.      *
  1901.      * @param string|string[] $sha256
  1902.      *
  1903.      * @return static
  1904.      *
  1905.      * @see https://schema.org/sha256
  1906.      * @see https://pending.schema.org
  1907.      * @link https://github.com/schemaorg/schemaorg/issues/2450
  1908.      */
  1909.     public function sha256($sha256)
  1910.     {
  1911.         return $this->setProperty('sha256'$sha256);
  1912.     }
  1913.     /**
  1914.      * A standardized size of a product or creative work, specified either
  1915.      * through a simple textual string (for example 'XL', '32Wx34L'), a
  1916.      * QuantitativeValue with a unitCode, or a comprehensive and structured
  1917.      * [[SizeSpecification]]; in other cases, the [[width]], [[height]],
  1918.      * [[depth]] and [[weight]] properties may be more applicable.
  1919.      *
  1920.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[]|\Spatie\SchemaOrg\Contracts\SizeSpecificationContract|\Spatie\SchemaOrg\Contracts\SizeSpecificationContract[]|string|string[] $size
  1921.      *
  1922.      * @return static
  1923.      *
  1924.      * @see https://schema.org/size
  1925.      * @see https://pending.schema.org
  1926.      * @link https://github.com/schemaorg/schemaorg/issues/1797
  1927.      */
  1928.     public function size($size)
  1929.     {
  1930.         return $this->setProperty('size'$size);
  1931.     }
  1932.     /**
  1933.      * The Organization on whose behalf the creator was working.
  1934.      *
  1935.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
  1936.      *
  1937.      * @return static
  1938.      *
  1939.      * @see https://schema.org/sourceOrganization
  1940.      */
  1941.     public function sourceOrganization($sourceOrganization)
  1942.     {
  1943.         return $this->setProperty('sourceOrganization'$sourceOrganization);
  1944.     }
  1945.     /**
  1946.      * The "spatial" property can be used in cases when more specific properties
  1947.      * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
  1948.      * not known to be appropriate.
  1949.      *
  1950.      * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
  1951.      *
  1952.      * @return static
  1953.      *
  1954.      * @see https://schema.org/spatial
  1955.      */
  1956.     public function spatial($spatial)
  1957.     {
  1958.         return $this->setProperty('spatial'$spatial);
  1959.     }
  1960.     /**
  1961.      * The spatialCoverage of a CreativeWork indicates the place(s) which are
  1962.      * the focus of the content. It is a subproperty of
  1963.      *       contentLocation intended primarily for more technical and detailed
  1964.      * materials. For example with a Dataset, it indicates
  1965.      *       areas that the dataset describes: a dataset of New York weather
  1966.      * would have spatialCoverage which was the place: the state of New York.
  1967.      *
  1968.      * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
  1969.      *
  1970.      * @return static
  1971.      *
  1972.      * @see https://schema.org/spatialCoverage
  1973.      */
  1974.     public function spatialCoverage($spatialCoverage)
  1975.     {
  1976.         return $this->setProperty('spatialCoverage'$spatialCoverage);
  1977.     }
  1978.     /**
  1979.      * A person or organization that supports a thing through a pledge, promise,
  1980.      * or financial contribution. E.g. a sponsor of a Medical Study or a
  1981.      * corporate sponsor of an event.
  1982.      *
  1983.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
  1984.      *
  1985.      * @return static
  1986.      *
  1987.      * @see https://schema.org/sponsor
  1988.      */
  1989.     public function sponsor($sponsor)
  1990.     {
  1991.         return $this->setProperty('sponsor'$sponsor);
  1992.     }
  1993.     /**
  1994.      * The startTime of something. For a reserved event or service (e.g.
  1995.      * FoodEstablishmentReservation), the time that it is expected to start. For
  1996.      * actions that span a period of time, when the action was performed. E.g.
  1997.      * John wrote a book from *January* to December. For media, including audio
  1998.      * and video, it's the time offset of the start of a clip within a larger
  1999.      * file.
  2000.      *
  2001.      * Note that Event uses startDate/endDate instead of startTime/endTime, even
  2002.      * when describing dates with times. This situation may be clarified in
  2003.      * future revisions.
  2004.      *
  2005.      * @param \DateTimeInterface|\DateTimeInterface[] $startTime
  2006.      *
  2007.      * @return static
  2008.      *
  2009.      * @see https://schema.org/startTime
  2010.      * @link https://github.com/schemaorg/schemaorg/issues/2493
  2011.      */
  2012.     public function startTime($startTime)
  2013.     {
  2014.         return $this->setProperty('startTime'$startTime);
  2015.     }
  2016.     /**
  2017.      * A CreativeWork or Event about this Thing.
  2018.      *
  2019.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
  2020.      *
  2021.      * @return static
  2022.      *
  2023.      * @see https://schema.org/subjectOf
  2024.      * @link https://github.com/schemaorg/schemaorg/issues/1670
  2025.      */
  2026.     public function subjectOf($subjectOf)
  2027.     {
  2028.         return $this->setProperty('subjectOf'$subjectOf);
  2029.     }
  2030.     /**
  2031.      * The item being described is intended to help a person learn the
  2032.      * competency or learning outcome defined by the referenced term.
  2033.      *
  2034.      * @param \Spatie\SchemaOrg\Contracts\DefinedTermContract|\Spatie\SchemaOrg\Contracts\DefinedTermContract[]|string|string[] $teaches
  2035.      *
  2036.      * @return static
  2037.      *
  2038.      * @see https://schema.org/teaches
  2039.      * @see https://pending.schema.org
  2040.      * @link https://github.com/schemaorg/schemaorg/issues/2427
  2041.      */
  2042.     public function teaches($teaches)
  2043.     {
  2044.         return $this->setProperty('teaches'$teaches);
  2045.     }
  2046.     /**
  2047.      * The "temporal" property can be used in cases where more specific
  2048.      * properties
  2049.      * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
  2050.      * [[datePublished]]) are not known to be appropriate.
  2051.      *
  2052.      * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
  2053.      *
  2054.      * @return static
  2055.      *
  2056.      * @see https://schema.org/temporal
  2057.      */
  2058.     public function temporal($temporal)
  2059.     {
  2060.         return $this->setProperty('temporal'$temporal);
  2061.     }
  2062.     /**
  2063.      * The temporalCoverage of a CreativeWork indicates the period that the
  2064.      * content applies to, i.e. that it describes, either as a DateTime or as a
  2065.      * textual string indicating a time period in [ISO 8601 time interval
  2066.      * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
  2067.      *       the case of a Dataset it will typically indicate the relevant time
  2068.      * period in a precise notation (e.g. for a 2011 census dataset, the year
  2069.      * 2011 would be written "2011/2012"). Other forms of content, e.g.
  2070.      * ScholarlyArticle, Book, TVSeries or TVEpisode, may indicate their
  2071.      * temporalCoverage in broader terms - textually or via well-known URL.
  2072.      *       Written works such as books may sometimes have precise temporal
  2073.      * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
  2074.      * interval format format via "1939/1945".
  2075.      *
  2076.      * Open-ended date ranges can be written with ".." in place of the end date.
  2077.      * For example, "2015-11/.." indicates a range beginning in November 2015
  2078.      * and with no specified final date. This is tentative and might be updated
  2079.      * in future when ISO 8601 is officially updated.
  2080.      *
  2081.      * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
  2082.      *
  2083.      * @return static
  2084.      *
  2085.      * @see https://schema.org/temporalCoverage
  2086.      */
  2087.     public function temporalCoverage($temporalCoverage)
  2088.     {
  2089.         return $this->setProperty('temporalCoverage'$temporalCoverage);
  2090.     }
  2091.     /**
  2092.      * The textual content of this CreativeWork.
  2093.      *
  2094.      * @param string|string[] $text
  2095.      *
  2096.      * @return static
  2097.      *
  2098.      * @see https://schema.org/text
  2099.      */
  2100.     public function text($text)
  2101.     {
  2102.         return $this->setProperty('text'$text);
  2103.     }
  2104.     /**
  2105.      * Thumbnail image for an image or video.
  2106.      *
  2107.      * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[] $thumbnail
  2108.      *
  2109.      * @return static
  2110.      *
  2111.      * @see https://schema.org/thumbnail
  2112.      */
  2113.     public function thumbnail($thumbnail)
  2114.     {
  2115.         return $this->setProperty('thumbnail'$thumbnail);
  2116.     }
  2117.     /**
  2118.      * A thumbnail image relevant to the Thing.
  2119.      *
  2120.      * @param string|string[] $thumbnailUrl
  2121.      *
  2122.      * @return static
  2123.      *
  2124.      * @see https://schema.org/thumbnailUrl
  2125.      */
  2126.     public function thumbnailUrl($thumbnailUrl)
  2127.     {
  2128.         return $this->setProperty('thumbnailUrl'$thumbnailUrl);
  2129.     }
  2130.     /**
  2131.      * Approximate or typical time it usually takes to work with or through the
  2132.      * content of this work for the typical or target audience.
  2133.      *
  2134.      * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
  2135.      *
  2136.      * @return static
  2137.      *
  2138.      * @see https://schema.org/timeRequired
  2139.      */
  2140.     public function timeRequired($timeRequired)
  2141.     {
  2142.         return $this->setProperty('timeRequired'$timeRequired);
  2143.     }
  2144.     /**
  2145.      * The work that this work has been translated from. E.g. 物种起源 is a
  2146.      * translationOf “On the Origin of Species”.
  2147.      *
  2148.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $translationOfWork
  2149.      *
  2150.      * @return static
  2151.      *
  2152.      * @see https://schema.org/translationOfWork
  2153.      * @see https://bib.schema.org
  2154.      */
  2155.     public function translationOfWork($translationOfWork)
  2156.     {
  2157.         return $this->setProperty('translationOfWork'$translationOfWork);
  2158.     }
  2159.     /**
  2160.      * Organization or person who adapts a creative work to different languages,
  2161.      * regional differences and technical requirements of a target market, or
  2162.      * that translates during some event.
  2163.      *
  2164.      * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
  2165.      *
  2166.      * @return static
  2167.      *
  2168.      * @see https://schema.org/translator
  2169.      */
  2170.     public function translator($translator)
  2171.     {
  2172.         return $this->setProperty('translator'$translator);
  2173.     }
  2174.     /**
  2175.      * The typical expected age range, e.g. '7-9', '11-'.
  2176.      *
  2177.      * @param string|string[] $typicalAgeRange
  2178.      *
  2179.      * @return static
  2180.      *
  2181.      * @see https://schema.org/typicalAgeRange
  2182.      */
  2183.     public function typicalAgeRange($typicalAgeRange)
  2184.     {
  2185.         return $this->setProperty('typicalAgeRange'$typicalAgeRange);
  2186.     }
  2187.     /**
  2188.      * Date (including time if available) when this media object was uploaded to
  2189.      * this site.
  2190.      *
  2191.      * @param \DateTimeInterface|\DateTimeInterface[] $uploadDate
  2192.      *
  2193.      * @return static
  2194.      *
  2195.      * @see https://schema.org/uploadDate
  2196.      */
  2197.     public function uploadDate($uploadDate)
  2198.     {
  2199.         return $this->setProperty('uploadDate'$uploadDate);
  2200.     }
  2201.     /**
  2202.      * URL of the item.
  2203.      *
  2204.      * @param string|string[] $url
  2205.      *
  2206.      * @return static
  2207.      *
  2208.      * @see https://schema.org/url
  2209.      */
  2210.     public function url($url)
  2211.     {
  2212.         return $this->setProperty('url'$url);
  2213.     }
  2214.     /**
  2215.      * The schema.org [[usageInfo]] property indicates further information about
  2216.      * a [[CreativeWork]]. This property is applicable both to works that are
  2217.      * freely available and to those that require payment or other transactions.
  2218.      * It can reference additional information, e.g. community expectations on
  2219.      * preferred linking and citation conventions, as well as purchasing
  2220.      * details. For something that can be commercially licensed, usageInfo can
  2221.      * provide detailed, resource-specific information about licensing options.
  2222.      *
  2223.      * This property can be used alongside the license property which indicates
  2224.      * license(s) applicable to some piece of content. The usageInfo property
  2225.      * can provide information about other licensing options, e.g. acquiring
  2226.      * commercial usage rights for an image that is also available under
  2227.      * non-commercial creative commons licenses.
  2228.      *
  2229.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $usageInfo
  2230.      *
  2231.      * @return static
  2232.      *
  2233.      * @see https://schema.org/usageInfo
  2234.      * @see https://pending.schema.org
  2235.      * @link https://github.com/schemaorg/schemaorg/issues/2454
  2236.      */
  2237.     public function usageInfo($usageInfo)
  2238.     {
  2239.         return $this->setProperty('usageInfo'$usageInfo);
  2240.     }
  2241.     /**
  2242.      * The version of the CreativeWork embodied by a specified resource.
  2243.      *
  2244.      * @param float|float[]|int|int[]|string|string[] $version
  2245.      *
  2246.      * @return static
  2247.      *
  2248.      * @see https://schema.org/version
  2249.      */
  2250.     public function version($version)
  2251.     {
  2252.         return $this->setProperty('version'$version);
  2253.     }
  2254.     /**
  2255.      * An embedded video object.
  2256.      *
  2257.      * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
  2258.      *
  2259.      * @return static
  2260.      *
  2261.      * @see https://schema.org/video
  2262.      */
  2263.     public function video($video)
  2264.     {
  2265.         return $this->setProperty('video'$video);
  2266.     }
  2267.     /**
  2268.      * The width of the item.
  2269.      *
  2270.      * @param \Spatie\SchemaOrg\Contracts\DistanceContract|\Spatie\SchemaOrg\Contracts\DistanceContract[]|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract|\Spatie\SchemaOrg\Contracts\QuantitativeValueContract[] $width
  2271.      *
  2272.      * @return static
  2273.      *
  2274.      * @see https://schema.org/width
  2275.      */
  2276.     public function width($width)
  2277.     {
  2278.         return $this->setProperty('width'$width);
  2279.     }
  2280.     /**
  2281.      * Example/instance/realization/derivation of the concept of this creative
  2282.      * work. E.g. the paperback edition, first edition, or e-book.
  2283.      *
  2284.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
  2285.      *
  2286.      * @return static
  2287.      *
  2288.      * @see https://schema.org/workExample
  2289.      */
  2290.     public function workExample($workExample)
  2291.     {
  2292.         return $this->setProperty('workExample'$workExample);
  2293.     }
  2294.     /**
  2295.      * A work that is a translation of the content of this work. E.g. 西遊記
  2296.      * has an English workTranslation “Journey to the West”, a German
  2297.      * workTranslation “Monkeys Pilgerfahrt” and a Vietnamese  translation
  2298.      * Tây du ký bình khảo.
  2299.      *
  2300.      * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workTranslation
  2301.      *
  2302.      * @return static
  2303.      *
  2304.      * @see https://schema.org/workTranslation
  2305.      * @see https://bib.schema.org
  2306.      */
  2307.     public function workTranslation($workTranslation)
  2308.     {
  2309.         return $this->setProperty('workTranslation'$workTranslation);
  2310.     }
  2311. }