vendor/spatie/schema-org/src/WebPage.php line 19

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