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 ImageObjectContract, CreativeWorkContract, MediaObjectContract, ThingContract
  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. }