RadioClip::aggregateRating()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
3
namespace Spatie\SchemaOrg;
4
5
use \Spatie\SchemaOrg\Contracts\RadioClipContract;
6
use \Spatie\SchemaOrg\Contracts\ClipContract;
7
use \Spatie\SchemaOrg\Contracts\CreativeWorkContract;
8
use \Spatie\SchemaOrg\Contracts\ThingContract;
9
10
/**
11
 * A short radio program or a segment/part of a radio program.
12
 *
13
 * @see http://schema.org/RadioClip
14
 *
15
 */
16
class RadioClip extends BaseType implements RadioClipContract, ClipContract, CreativeWorkContract, ThingContract
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 http://schema.org/about
26
     */
27
    public function about($about)
28
    {
29
        return $this->setProperty('about', $about);
30
    }
31
32
    /**
33
     * The human sensory perceptual system or cognitive faculty through which a
34
     * person may process or perceive information. Expected values include:
35
     * auditory, tactile, textual, visual, colorDependent, chartOnVisual,
36
     * chemOnVisual, diagramOnVisual, mathOnVisual, musicOnVisual, textOnVisual.
37
     *
38
     * @param string|string[] $accessMode
39
     *
40
     * @return static
41
     *
42
     * @see http://schema.org/accessMode
43
     */
44
    public function accessMode($accessMode)
45
    {
46
        return $this->setProperty('accessMode', $accessMode);
47
    }
48
49
    /**
50
     * A list of single or combined accessModes that are sufficient to
51
     * understand all the intellectual content of a resource. Expected values
52
     * include:  auditory, tactile, textual, visual.
53
     *
54
     * @param \Spatie\SchemaOrg\Contracts\ItemListContract|\Spatie\SchemaOrg\Contracts\ItemListContract[] $accessModeSufficient
55
     *
56
     * @return static
57
     *
58
     * @see http://schema.org/accessModeSufficient
59
     */
60
    public function accessModeSufficient($accessModeSufficient)
61
    {
62
        return $this->setProperty('accessModeSufficient', $accessModeSufficient);
63
    }
64
65
    /**
66
     * Indicates that the resource is compatible with the referenced
67
     * accessibility API ([WebSchemas wiki lists possible
68
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
69
     *
70
     * @param string|string[] $accessibilityAPI
71
     *
72
     * @return static
73
     *
74
     * @see http://schema.org/accessibilityAPI
75
     */
76
    public function accessibilityAPI($accessibilityAPI)
77
    {
78
        return $this->setProperty('accessibilityAPI', $accessibilityAPI);
79
    }
80
81
    /**
82
     * Identifies input methods that are sufficient to fully control the
83
     * described resource ([WebSchemas wiki lists possible
84
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
85
     *
86
     * @param string|string[] $accessibilityControl
87
     *
88
     * @return static
89
     *
90
     * @see http://schema.org/accessibilityControl
91
     */
92
    public function accessibilityControl($accessibilityControl)
93
    {
94
        return $this->setProperty('accessibilityControl', $accessibilityControl);
95
    }
96
97
    /**
98
     * Content features of the resource, such as accessible media, alternatives
99
     * and supported enhancements for accessibility ([WebSchemas wiki lists
100
     * possible values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
101
     *
102
     * @param string|string[] $accessibilityFeature
103
     *
104
     * @return static
105
     *
106
     * @see http://schema.org/accessibilityFeature
107
     */
108
    public function accessibilityFeature($accessibilityFeature)
109
    {
110
        return $this->setProperty('accessibilityFeature', $accessibilityFeature);
111
    }
112
113
    /**
114
     * A characteristic of the described resource that is physiologically
115
     * dangerous to some users. Related to WCAG 2.0 guideline 2.3 ([WebSchemas
116
     * wiki lists possible
117
     * values](http://www.w3.org/wiki/WebSchemas/Accessibility)).
118
     *
119
     * @param string|string[] $accessibilityHazard
120
     *
121
     * @return static
122
     *
123
     * @see http://schema.org/accessibilityHazard
124
     */
125
    public function accessibilityHazard($accessibilityHazard)
126
    {
127
        return $this->setProperty('accessibilityHazard', $accessibilityHazard);
128
    }
129
130
    /**
131
     * A human-readable summary of specific accessibility features or
132
     * deficiencies, consistent with the other accessibility metadata but
133
     * expressing subtleties such as "short descriptions are present but long
134
     * descriptions will be needed for non-visual users" or "short descriptions
135
     * are present and no long descriptions are needed."
136
     *
137
     * @param string|string[] $accessibilitySummary
138
     *
139
     * @return static
140
     *
141
     * @see http://schema.org/accessibilitySummary
142
     */
143
    public function accessibilitySummary($accessibilitySummary)
144
    {
145
        return $this->setProperty('accessibilitySummary', $accessibilitySummary);
146
    }
147
148
    /**
149
     * Specifies the Person that is legally accountable for the CreativeWork.
150
     *
151
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $accountablePerson
152
     *
153
     * @return static
154
     *
155
     * @see http://schema.org/accountablePerson
156
     */
157
    public function accountablePerson($accountablePerson)
158
    {
159
        return $this->setProperty('accountablePerson', $accountablePerson);
160
    }
161
162
    /**
163
     * An actor, e.g. in tv, radio, movie, video games etc., or in an event.
164
     * Actors can be associated with individual items or with a series, episode,
165
     * clip.
166
     *
167
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $actor
168
     *
169
     * @return static
170
     *
171
     * @see http://schema.org/actor
172
     */
173
    public function actor($actor)
174
    {
175
        return $this->setProperty('actor', $actor);
176
    }
177
178
    /**
179
     * An actor, e.g. in tv, radio, movie, video games etc. Actors can be
180
     * associated with individual items or with a series, episode, clip.
181
     *
182
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $actors
183
     *
184
     * @return static
185
     *
186
     * @see http://schema.org/actors
187
     */
188
    public function actors($actors)
189
    {
190
        return $this->setProperty('actors', $actors);
191
    }
192
193
    /**
194
     * An additional type for the item, typically used for adding more specific
195
     * types from external vocabularies in microdata syntax. This is a
196
     * relationship between something and a class that the thing is in. In RDFa
197
     * syntax, it is better to use the native RDFa syntax - the 'typeof'
198
     * attribute - for multiple types. Schema.org tools may have only weaker
199
     * understanding of extra types, in particular those defined externally.
200
     *
201
     * @param string|string[] $additionalType
202
     *
203
     * @return static
204
     *
205
     * @see http://schema.org/additionalType
206
     */
207
    public function additionalType($additionalType)
208
    {
209
        return $this->setProperty('additionalType', $additionalType);
210
    }
211
212
    /**
213
     * The overall rating, based on a collection of reviews or ratings, of the
214
     * item.
215
     *
216
     * @param \Spatie\SchemaOrg\Contracts\AggregateRatingContract|\Spatie\SchemaOrg\Contracts\AggregateRatingContract[] $aggregateRating
217
     *
218
     * @return static
219
     *
220
     * @see http://schema.org/aggregateRating
221
     */
222
    public function aggregateRating($aggregateRating)
223
    {
224
        return $this->setProperty('aggregateRating', $aggregateRating);
225
    }
226
227
    /**
228
     * An alias for the item.
229
     *
230
     * @param string|string[] $alternateName
231
     *
232
     * @return static
233
     *
234
     * @see http://schema.org/alternateName
235
     */
236
    public function alternateName($alternateName)
237
    {
238
        return $this->setProperty('alternateName', $alternateName);
239
    }
240
241
    /**
242
     * A secondary title of the CreativeWork.
243
     *
244
     * @param string|string[] $alternativeHeadline
245
     *
246
     * @return static
247
     *
248
     * @see http://schema.org/alternativeHeadline
249
     */
250
    public function alternativeHeadline($alternativeHeadline)
251
    {
252
        return $this->setProperty('alternativeHeadline', $alternativeHeadline);
253
    }
254
255
    /**
256
     * A media object that encodes this CreativeWork. This property is a synonym
257
     * for encoding.
258
     *
259
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $associatedMedia
260
     *
261
     * @return static
262
     *
263
     * @see http://schema.org/associatedMedia
264
     */
265
    public function associatedMedia($associatedMedia)
266
    {
267
        return $this->setProperty('associatedMedia', $associatedMedia);
268
    }
269
270
    /**
271
     * An intended audience, i.e. a group for whom something was created.
272
     *
273
     * @param \Spatie\SchemaOrg\Contracts\AudienceContract|\Spatie\SchemaOrg\Contracts\AudienceContract[] $audience
274
     *
275
     * @return static
276
     *
277
     * @see http://schema.org/audience
278
     */
279
    public function audience($audience)
280
    {
281
        return $this->setProperty('audience', $audience);
282
    }
283
284
    /**
285
     * An embedded audio object.
286
     *
287
     * @param \Spatie\SchemaOrg\Contracts\AudioObjectContract|\Spatie\SchemaOrg\Contracts\AudioObjectContract[]|\Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[] $audio
288
     *
289
     * @return static
290
     *
291
     * @see http://schema.org/audio
292
     */
293
    public function audio($audio)
294
    {
295
        return $this->setProperty('audio', $audio);
296
    }
297
298
    /**
299
     * The author of this content or rating. Please note that author is special
300
     * in that HTML 5 provides a special mechanism for indicating authorship via
301
     * the rel tag. That is equivalent to this and may be used interchangeably.
302
     *
303
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $author
304
     *
305
     * @return static
306
     *
307
     * @see http://schema.org/author
308
     */
309
    public function author($author)
310
    {
311
        return $this->setProperty('author', $author);
312
    }
313
314
    /**
315
     * An award won by or for this item.
316
     *
317
     * @param string|string[] $award
318
     *
319
     * @return static
320
     *
321
     * @see http://schema.org/award
322
     */
323
    public function award($award)
324
    {
325
        return $this->setProperty('award', $award);
326
    }
327
328
    /**
329
     * Awards won by or for this item.
330
     *
331
     * @param string|string[] $awards
332
     *
333
     * @return static
334
     *
335
     * @see http://schema.org/awards
336
     */
337
    public function awards($awards)
338
    {
339
        return $this->setProperty('awards', $awards);
340
    }
341
342
    /**
343
     * Fictional person connected with a creative work.
344
     *
345
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $character
346
     *
347
     * @return static
348
     *
349
     * @see http://schema.org/character
350
     */
351
    public function character($character)
352
    {
353
        return $this->setProperty('character', $character);
354
    }
355
356
    /**
357
     * A citation or reference to another creative work, such as another
358
     * publication, web page, scholarly article, etc.
359
     *
360
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $citation
361
     *
362
     * @return static
363
     *
364
     * @see http://schema.org/citation
365
     */
366
    public function citation($citation)
367
    {
368
        return $this->setProperty('citation', $citation);
369
    }
370
371
    /**
372
     * Position of the clip within an ordered group of clips.
373
     *
374
     * @param int|int[]|string|string[] $clipNumber
375
     *
376
     * @return static
377
     *
378
     * @see http://schema.org/clipNumber
379
     */
380
    public function clipNumber($clipNumber)
381
    {
382
        return $this->setProperty('clipNumber', $clipNumber);
383
    }
384
385
    /**
386
     * Comments, typically from users.
387
     *
388
     * @param \Spatie\SchemaOrg\Contracts\CommentContract|\Spatie\SchemaOrg\Contracts\CommentContract[] $comment
389
     *
390
     * @return static
391
     *
392
     * @see http://schema.org/comment
393
     */
394
    public function comment($comment)
395
    {
396
        return $this->setProperty('comment', $comment);
397
    }
398
399
    /**
400
     * The number of comments this CreativeWork (e.g. Article, Question or
401
     * Answer) has received. This is most applicable to works published in Web
402
     * sites with commenting system; additional comments may exist elsewhere.
403
     *
404
     * @param int|int[] $commentCount
405
     *
406
     * @return static
407
     *
408
     * @see http://schema.org/commentCount
409
     */
410
    public function commentCount($commentCount)
411
    {
412
        return $this->setProperty('commentCount', $commentCount);
413
    }
414
415
    /**
416
     * The location depicted or described in the content. For example, the
417
     * location in a photograph or painting.
418
     *
419
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $contentLocation
420
     *
421
     * @return static
422
     *
423
     * @see http://schema.org/contentLocation
424
     */
425
    public function contentLocation($contentLocation)
426
    {
427
        return $this->setProperty('contentLocation', $contentLocation);
428
    }
429
430
    /**
431
     * Official rating of a piece of content&#x2014;for example,'MPAA PG-13'.
432
     *
433
     * @param \Spatie\SchemaOrg\Contracts\RatingContract|\Spatie\SchemaOrg\Contracts\RatingContract[]|string|string[] $contentRating
434
     *
435
     * @return static
436
     *
437
     * @see http://schema.org/contentRating
438
     */
439
    public function contentRating($contentRating)
440
    {
441
        return $this->setProperty('contentRating', $contentRating);
442
    }
443
444
    /**
445
     * A secondary contributor to the CreativeWork or Event.
446
     *
447
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $contributor
448
     *
449
     * @return static
450
     *
451
     * @see http://schema.org/contributor
452
     */
453
    public function contributor($contributor)
454
    {
455
        return $this->setProperty('contributor', $contributor);
456
    }
457
458
    /**
459
     * The party holding the legal copyright to the CreativeWork.
460
     *
461
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $copyrightHolder
462
     *
463
     * @return static
464
     *
465
     * @see http://schema.org/copyrightHolder
466
     */
467
    public function copyrightHolder($copyrightHolder)
468
    {
469
        return $this->setProperty('copyrightHolder', $copyrightHolder);
470
    }
471
472
    /**
473
     * The year during which the claimed copyright for the CreativeWork was
474
     * first asserted.
475
     *
476
     * @param float|float[]|int|int[] $copyrightYear
477
     *
478
     * @return static
479
     *
480
     * @see http://schema.org/copyrightYear
481
     */
482
    public function copyrightYear($copyrightYear)
483
    {
484
        return $this->setProperty('copyrightYear', $copyrightYear);
485
    }
486
487
    /**
488
     * The creator/author of this CreativeWork. This is the same as the Author
489
     * property for CreativeWork.
490
     *
491
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $creator
492
     *
493
     * @return static
494
     *
495
     * @see http://schema.org/creator
496
     */
497
    public function creator($creator)
498
    {
499
        return $this->setProperty('creator', $creator);
500
    }
501
502
    /**
503
     * The date on which the CreativeWork was created or the item was added to a
504
     * DataFeed.
505
     *
506
     * @param \DateTimeInterface|\DateTimeInterface[] $dateCreated
507
     *
508
     * @return static
509
     *
510
     * @see http://schema.org/dateCreated
511
     */
512
    public function dateCreated($dateCreated)
513
    {
514
        return $this->setProperty('dateCreated', $dateCreated);
515
    }
516
517
    /**
518
     * The date on which the CreativeWork was most recently modified or when the
519
     * item's entry was modified within a DataFeed.
520
     *
521
     * @param \DateTimeInterface|\DateTimeInterface[] $dateModified
522
     *
523
     * @return static
524
     *
525
     * @see http://schema.org/dateModified
526
     */
527
    public function dateModified($dateModified)
528
    {
529
        return $this->setProperty('dateModified', $dateModified);
530
    }
531
532
    /**
533
     * Date of first broadcast/publication.
534
     *
535
     * @param \DateTimeInterface|\DateTimeInterface[] $datePublished
536
     *
537
     * @return static
538
     *
539
     * @see http://schema.org/datePublished
540
     */
541
    public function datePublished($datePublished)
542
    {
543
        return $this->setProperty('datePublished', $datePublished);
544
    }
545
546
    /**
547
     * A description of the item.
548
     *
549
     * @param string|string[] $description
550
     *
551
     * @return static
552
     *
553
     * @see http://schema.org/description
554
     */
555
    public function description($description)
556
    {
557
        return $this->setProperty('description', $description);
558
    }
559
560
    /**
561
     * A director of e.g. tv, radio, movie, video gaming etc. content, or of an
562
     * event. Directors can be associated with individual items or with a
563
     * series, episode, clip.
564
     *
565
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $director
566
     *
567
     * @return static
568
     *
569
     * @see http://schema.org/director
570
     */
571
    public function director($director)
572
    {
573
        return $this->setProperty('director', $director);
574
    }
575
576
    /**
577
     * A director of e.g. tv, radio, movie, video games etc. content. Directors
578
     * can be associated with individual items or with a series, episode, clip.
579
     *
580
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $directors
581
     *
582
     * @return static
583
     *
584
     * @see http://schema.org/directors
585
     */
586
    public function directors($directors)
587
    {
588
        return $this->setProperty('directors', $directors);
589
    }
590
591
    /**
592
     * A sub property of description. A short description of the item used to
593
     * disambiguate from other, similar items. Information from other properties
594
     * (in particular, name) may be necessary for the description to be useful
595
     * for disambiguation.
596
     *
597
     * @param string|string[] $disambiguatingDescription
598
     *
599
     * @return static
600
     *
601
     * @see http://schema.org/disambiguatingDescription
602
     */
603
    public function disambiguatingDescription($disambiguatingDescription)
604
    {
605
        return $this->setProperty('disambiguatingDescription', $disambiguatingDescription);
606
    }
607
608
    /**
609
     * A link to the page containing the comments of the CreativeWork.
610
     *
611
     * @param string|string[] $discussionUrl
612
     *
613
     * @return static
614
     *
615
     * @see http://schema.org/discussionUrl
616
     */
617
    public function discussionUrl($discussionUrl)
618
    {
619
        return $this->setProperty('discussionUrl', $discussionUrl);
620
    }
621
622
    /**
623
     * Specifies the Person who edited the CreativeWork.
624
     *
625
     * @param \Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $editor
626
     *
627
     * @return static
628
     *
629
     * @see http://schema.org/editor
630
     */
631
    public function editor($editor)
632
    {
633
        return $this->setProperty('editor', $editor);
634
    }
635
636
    /**
637
     * An alignment to an established educational framework.
638
     *
639
     * @param \Spatie\SchemaOrg\Contracts\AlignmentObjectContract|\Spatie\SchemaOrg\Contracts\AlignmentObjectContract[] $educationalAlignment
640
     *
641
     * @return static
642
     *
643
     * @see http://schema.org/educationalAlignment
644
     */
645
    public function educationalAlignment($educationalAlignment)
646
    {
647
        return $this->setProperty('educationalAlignment', $educationalAlignment);
648
    }
649
650
    /**
651
     * The purpose of a work in the context of education; for example,
652
     * 'assignment', 'group work'.
653
     *
654
     * @param string|string[] $educationalUse
655
     *
656
     * @return static
657
     *
658
     * @see http://schema.org/educationalUse
659
     */
660
    public function educationalUse($educationalUse)
661
    {
662
        return $this->setProperty('educationalUse', $educationalUse);
663
    }
664
665
    /**
666
     * A media object that encodes this CreativeWork. This property is a synonym
667
     * for associatedMedia.
668
     *
669
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encoding
670
     *
671
     * @return static
672
     *
673
     * @see http://schema.org/encoding
674
     */
675
    public function encoding($encoding)
676
    {
677
        return $this->setProperty('encoding', $encoding);
678
    }
679
680
    /**
681
     * Media type typically expressed using a MIME format (see [IANA
682
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml) and
683
     * [MDN
684
     * reference](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types))
685
     * e.g. application/zip for a SoftwareApplication binary, audio/mpeg for
686
     * .mp3 etc.).
687
     * 
688
     * In cases where a [[CreativeWork]] has several media type representations,
689
     * [[encoding]] can be used to indicate each [[MediaObject]] alongside
690
     * particular [[encodingFormat]] information.
691
     * 
692
     * Unregistered or niche encoding and file formats can be indicated instead
693
     * via the most appropriate URL, e.g. defining Web page or a
694
     * Wikipedia/Wikidata entry.
695
     *
696
     * @param string|string[] $encodingFormat
697
     *
698
     * @return static
699
     *
700
     * @see http://schema.org/encodingFormat
701
     */
702
    public function encodingFormat($encodingFormat)
703
    {
704
        return $this->setProperty('encodingFormat', $encodingFormat);
705
    }
706
707
    /**
708
     * A media object that encodes this CreativeWork.
709
     *
710
     * @param \Spatie\SchemaOrg\Contracts\MediaObjectContract|\Spatie\SchemaOrg\Contracts\MediaObjectContract[] $encodings
711
     *
712
     * @return static
713
     *
714
     * @see http://schema.org/encodings
715
     */
716
    public function encodings($encodings)
717
    {
718
        return $this->setProperty('encodings', $encodings);
719
    }
720
721
    /**
722
     * A creative work that this work is an
723
     * example/instance/realization/derivation of.
724
     *
725
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $exampleOfWork
726
     *
727
     * @return static
728
     *
729
     * @see http://schema.org/exampleOfWork
730
     */
731
    public function exampleOfWork($exampleOfWork)
732
    {
733
        return $this->setProperty('exampleOfWork', $exampleOfWork);
734
    }
735
736
    /**
737
     * Date the content expires and is no longer useful or available. For
738
     * example a [[VideoObject]] or [[NewsArticle]] whose availability or
739
     * relevance is time-limited, or a [[ClaimReview]] fact check whose
740
     * publisher wants to indicate that it may no longer be relevant (or helpful
741
     * to highlight) after some date.
742
     *
743
     * @param \DateTimeInterface|\DateTimeInterface[] $expires
744
     *
745
     * @return static
746
     *
747
     * @see http://schema.org/expires
748
     */
749
    public function expires($expires)
750
    {
751
        return $this->setProperty('expires', $expires);
752
    }
753
754
    /**
755
     * Media type, typically MIME format (see [IANA
756
     * site](http://www.iana.org/assignments/media-types/media-types.xhtml)) of
757
     * the content e.g. application/zip of a SoftwareApplication binary. In
758
     * cases where a CreativeWork has several media type representations,
759
     * 'encoding' can be used to indicate each MediaObject alongside particular
760
     * fileFormat information. Unregistered or niche file formats can be
761
     * indicated instead via the most appropriate URL, e.g. defining Web page or
762
     * a Wikipedia entry.
763
     *
764
     * @param string|string[] $fileFormat
765
     *
766
     * @return static
767
     *
768
     * @see http://schema.org/fileFormat
769
     */
770
    public function fileFormat($fileFormat)
771
    {
772
        return $this->setProperty('fileFormat', $fileFormat);
773
    }
774
775
    /**
776
     * A person or organization that supports (sponsors) something through some
777
     * kind of financial contribution.
778
     *
779
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $funder
780
     *
781
     * @return static
782
     *
783
     * @see http://schema.org/funder
784
     */
785
    public function funder($funder)
786
    {
787
        return $this->setProperty('funder', $funder);
788
    }
789
790
    /**
791
     * Genre of the creative work, broadcast channel or group.
792
     *
793
     * @param string|string[] $genre
794
     *
795
     * @return static
796
     *
797
     * @see http://schema.org/genre
798
     */
799
    public function genre($genre)
800
    {
801
        return $this->setProperty('genre', $genre);
802
    }
803
804
    /**
805
     * Indicates an item or CreativeWork that is part of this item, or
806
     * CreativeWork (in some sense).
807
     *
808
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $hasPart
809
     *
810
     * @return static
811
     *
812
     * @see http://schema.org/hasPart
813
     */
814
    public function hasPart($hasPart)
815
    {
816
        return $this->setProperty('hasPart', $hasPart);
817
    }
818
819
    /**
820
     * Headline of the article.
821
     *
822
     * @param string|string[] $headline
823
     *
824
     * @return static
825
     *
826
     * @see http://schema.org/headline
827
     */
828
    public function headline($headline)
829
    {
830
        return $this->setProperty('headline', $headline);
831
    }
832
833
    /**
834
     * The identifier property represents any kind of identifier for any kind of
835
     * [[Thing]], such as ISBNs, GTIN codes, UUIDs etc. Schema.org provides
836
     * dedicated properties for representing many of these, either as textual
837
     * strings or as URL (URI) links. See [background
838
     * notes](/docs/datamodel.html#identifierBg) for more details.
839
     *
840
     * @param \Spatie\SchemaOrg\Contracts\PropertyValueContract|\Spatie\SchemaOrg\Contracts\PropertyValueContract[]|string|string[] $identifier
841
     *
842
     * @return static
843
     *
844
     * @see http://schema.org/identifier
845
     */
846
    public function identifier($identifier)
847
    {
848
        return $this->setProperty('identifier', $identifier);
849
    }
850
851
    /**
852
     * An image of the item. This can be a [[URL]] or a fully described
853
     * [[ImageObject]].
854
     *
855
     * @param \Spatie\SchemaOrg\Contracts\ImageObjectContract|\Spatie\SchemaOrg\Contracts\ImageObjectContract[]|string|string[] $image
856
     *
857
     * @return static
858
     *
859
     * @see http://schema.org/image
860
     */
861
    public function image($image)
862
    {
863
        return $this->setProperty('image', $image);
864
    }
865
866
    /**
867
     * The language of the content or performance or used in an action. Please
868
     * use one of the language codes from the [IETF BCP 47
869
     * standard](http://tools.ietf.org/html/bcp47). See also
870
     * [[availableLanguage]].
871
     *
872
     * @param \Spatie\SchemaOrg\Contracts\LanguageContract|\Spatie\SchemaOrg\Contracts\LanguageContract[]|string|string[] $inLanguage
873
     *
874
     * @return static
875
     *
876
     * @see http://schema.org/inLanguage
877
     */
878
    public function inLanguage($inLanguage)
879
    {
880
        return $this->setProperty('inLanguage', $inLanguage);
881
    }
882
883
    /**
884
     * The number of interactions for the CreativeWork using the WebSite or
885
     * SoftwareApplication. The most specific child type of InteractionCounter
886
     * should be used.
887
     *
888
     * @param \Spatie\SchemaOrg\Contracts\InteractionCounterContract|\Spatie\SchemaOrg\Contracts\InteractionCounterContract[] $interactionStatistic
889
     *
890
     * @return static
891
     *
892
     * @see http://schema.org/interactionStatistic
893
     */
894
    public function interactionStatistic($interactionStatistic)
895
    {
896
        return $this->setProperty('interactionStatistic', $interactionStatistic);
897
    }
898
899
    /**
900
     * The predominant mode of learning supported by the learning resource.
901
     * Acceptable values are 'active', 'expositive', or 'mixed'.
902
     *
903
     * @param string|string[] $interactivityType
904
     *
905
     * @return static
906
     *
907
     * @see http://schema.org/interactivityType
908
     */
909
    public function interactivityType($interactivityType)
910
    {
911
        return $this->setProperty('interactivityType', $interactivityType);
912
    }
913
914
    /**
915
     * A flag to signal that the item, event, or place is accessible for free.
916
     *
917
     * @param bool|bool[] $isAccessibleForFree
918
     *
919
     * @return static
920
     *
921
     * @see http://schema.org/isAccessibleForFree
922
     */
923
    public function isAccessibleForFree($isAccessibleForFree)
924
    {
925
        return $this->setProperty('isAccessibleForFree', $isAccessibleForFree);
926
    }
927
928
    /**
929
     * A resource from which this work is derived or from which it is a
930
     * modification or adaption.
931
     *
932
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOn
933
     *
934
     * @return static
935
     *
936
     * @see http://schema.org/isBasedOn
937
     */
938
    public function isBasedOn($isBasedOn)
939
    {
940
        return $this->setProperty('isBasedOn', $isBasedOn);
941
    }
942
943
    /**
944
     * A resource that was used in the creation of this resource. This term can
945
     * be repeated for multiple sources. For example,
946
     * http://example.com/great-multiplication-intro.html.
947
     *
948
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $isBasedOnUrl
949
     *
950
     * @return static
951
     *
952
     * @see http://schema.org/isBasedOnUrl
953
     */
954
    public function isBasedOnUrl($isBasedOnUrl)
955
    {
956
        return $this->setProperty('isBasedOnUrl', $isBasedOnUrl);
957
    }
958
959
    /**
960
     * Indicates whether this content is family friendly.
961
     *
962
     * @param bool|bool[] $isFamilyFriendly
963
     *
964
     * @return static
965
     *
966
     * @see http://schema.org/isFamilyFriendly
967
     */
968
    public function isFamilyFriendly($isFamilyFriendly)
969
    {
970
        return $this->setProperty('isFamilyFriendly', $isFamilyFriendly);
971
    }
972
973
    /**
974
     * Indicates an item or CreativeWork that this item, or CreativeWork (in
975
     * some sense), is part of.
976
     *
977
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $isPartOf
978
     *
979
     * @return static
980
     *
981
     * @see http://schema.org/isPartOf
982
     */
983
    public function isPartOf($isPartOf)
984
    {
985
        return $this->setProperty('isPartOf', $isPartOf);
986
    }
987
988
    /**
989
     * Keywords or tags used to describe this content. Multiple entries in a
990
     * keywords list are typically delimited by commas.
991
     *
992
     * @param string|string[] $keywords
993
     *
994
     * @return static
995
     *
996
     * @see http://schema.org/keywords
997
     */
998
    public function keywords($keywords)
999
    {
1000
        return $this->setProperty('keywords', $keywords);
1001
    }
1002
1003
    /**
1004
     * The predominant type or kind characterizing the learning resource. For
1005
     * example, 'presentation', 'handout'.
1006
     *
1007
     * @param string|string[] $learningResourceType
1008
     *
1009
     * @return static
1010
     *
1011
     * @see http://schema.org/learningResourceType
1012
     */
1013
    public function learningResourceType($learningResourceType)
1014
    {
1015
        return $this->setProperty('learningResourceType', $learningResourceType);
1016
    }
1017
1018
    /**
1019
     * A license document that applies to this content, typically indicated by
1020
     * URL.
1021
     *
1022
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $license
1023
     *
1024
     * @return static
1025
     *
1026
     * @see http://schema.org/license
1027
     */
1028
    public function license($license)
1029
    {
1030
        return $this->setProperty('license', $license);
1031
    }
1032
1033
    /**
1034
     * The location where the CreativeWork was created, which may not be the
1035
     * same as the location depicted in the CreativeWork.
1036
     *
1037
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $locationCreated
1038
     *
1039
     * @return static
1040
     *
1041
     * @see http://schema.org/locationCreated
1042
     */
1043
    public function locationCreated($locationCreated)
1044
    {
1045
        return $this->setProperty('locationCreated', $locationCreated);
1046
    }
1047
1048
    /**
1049
     * Indicates the primary entity described in some page or other
1050
     * CreativeWork.
1051
     *
1052
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mainEntity
1053
     *
1054
     * @return static
1055
     *
1056
     * @see http://schema.org/mainEntity
1057
     */
1058
    public function mainEntity($mainEntity)
1059
    {
1060
        return $this->setProperty('mainEntity', $mainEntity);
1061
    }
1062
1063
    /**
1064
     * Indicates a page (or other CreativeWork) for which this thing is the main
1065
     * entity being described. See [background
1066
     * notes](/docs/datamodel.html#mainEntityBackground) for details.
1067
     *
1068
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $mainEntityOfPage
1069
     *
1070
     * @return static
1071
     *
1072
     * @see http://schema.org/mainEntityOfPage
1073
     */
1074
    public function mainEntityOfPage($mainEntityOfPage)
1075
    {
1076
        return $this->setProperty('mainEntityOfPage', $mainEntityOfPage);
1077
    }
1078
1079
    /**
1080
     * A material that something is made from, e.g. leather, wool, cotton,
1081
     * paper.
1082
     *
1083
     * @param \Spatie\SchemaOrg\Contracts\ProductContract|\Spatie\SchemaOrg\Contracts\ProductContract[]|string|string[] $material
1084
     *
1085
     * @return static
1086
     *
1087
     * @see http://schema.org/material
1088
     */
1089
    public function material($material)
1090
    {
1091
        return $this->setProperty('material', $material);
1092
    }
1093
1094
    /**
1095
     * Indicates that the CreativeWork contains a reference to, but is not
1096
     * necessarily about a concept.
1097
     *
1098
     * @param \Spatie\SchemaOrg\Contracts\ThingContract|\Spatie\SchemaOrg\Contracts\ThingContract[] $mentions
1099
     *
1100
     * @return static
1101
     *
1102
     * @see http://schema.org/mentions
1103
     */
1104
    public function mentions($mentions)
1105
    {
1106
        return $this->setProperty('mentions', $mentions);
1107
    }
1108
1109
    /**
1110
     * The composer of the soundtrack.
1111
     *
1112
     * @param \Spatie\SchemaOrg\Contracts\MusicGroupContract|\Spatie\SchemaOrg\Contracts\MusicGroupContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $musicBy
1113
     *
1114
     * @return static
1115
     *
1116
     * @see http://schema.org/musicBy
1117
     */
1118
    public function musicBy($musicBy)
1119
    {
1120
        return $this->setProperty('musicBy', $musicBy);
1121
    }
1122
1123
    /**
1124
     * The name of the item.
1125
     *
1126
     * @param string|string[] $name
1127
     *
1128
     * @return static
1129
     *
1130
     * @see http://schema.org/name
1131
     */
1132
    public function name($name)
1133
    {
1134
        return $this->setProperty('name', $name);
1135
    }
1136
1137
    /**
1138
     * An offer to provide this item&#x2014;for example, an offer to sell a
1139
     * product, rent the DVD of a movie, perform a service, or give away tickets
1140
     * to an event. Use [[businessFunction]] to indicate the kind of transaction
1141
     * offered, i.e. sell, lease, etc. This property can also be used to
1142
     * describe a [[Demand]]. While this property is listed as expected on a
1143
     * number of common types, it can be used in others. In that case, using a
1144
     * second type, such as Product or a subtype of Product, can clarify the
1145
     * nature of the offer.
1146
     *
1147
     * @param \Spatie\SchemaOrg\Contracts\DemandContract|\Spatie\SchemaOrg\Contracts\DemandContract[]|\Spatie\SchemaOrg\Contracts\OfferContract|\Spatie\SchemaOrg\Contracts\OfferContract[] $offers
1148
     *
1149
     * @return static
1150
     *
1151
     * @see http://schema.org/offers
1152
     */
1153
    public function offers($offers)
1154
    {
1155
        return $this->setProperty('offers', $offers);
1156
    }
1157
1158
    /**
1159
     * The episode to which this clip belongs.
1160
     *
1161
     * @param \Spatie\SchemaOrg\Contracts\EpisodeContract|\Spatie\SchemaOrg\Contracts\EpisodeContract[] $partOfEpisode
1162
     *
1163
     * @return static
1164
     *
1165
     * @see http://schema.org/partOfEpisode
1166
     */
1167
    public function partOfEpisode($partOfEpisode)
1168
    {
1169
        return $this->setProperty('partOfEpisode', $partOfEpisode);
1170
    }
1171
1172
    /**
1173
     * The season to which this episode belongs.
1174
     *
1175
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkSeasonContract|\Spatie\SchemaOrg\Contracts\CreativeWorkSeasonContract[] $partOfSeason
1176
     *
1177
     * @return static
1178
     *
1179
     * @see http://schema.org/partOfSeason
1180
     */
1181
    public function partOfSeason($partOfSeason)
1182
    {
1183
        return $this->setProperty('partOfSeason', $partOfSeason);
1184
    }
1185
1186
    /**
1187
     * The series to which this episode or season belongs.
1188
     *
1189
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract|\Spatie\SchemaOrg\Contracts\CreativeWorkSeriesContract[] $partOfSeries
1190
     *
1191
     * @return static
1192
     *
1193
     * @see http://schema.org/partOfSeries
1194
     */
1195
    public function partOfSeries($partOfSeries)
1196
    {
1197
        return $this->setProperty('partOfSeries', $partOfSeries);
1198
    }
1199
1200
    /**
1201
     * The position of an item in a series or sequence of items.
1202
     *
1203
     * @param int|int[]|string|string[] $position
1204
     *
1205
     * @return static
1206
     *
1207
     * @see http://schema.org/position
1208
     */
1209
    public function position($position)
1210
    {
1211
        return $this->setProperty('position', $position);
1212
    }
1213
1214
    /**
1215
     * Indicates a potential Action, which describes an idealized action in
1216
     * which this thing would play an 'object' role.
1217
     *
1218
     * @param \Spatie\SchemaOrg\Contracts\ActionContract|\Spatie\SchemaOrg\Contracts\ActionContract[] $potentialAction
1219
     *
1220
     * @return static
1221
     *
1222
     * @see http://schema.org/potentialAction
1223
     */
1224
    public function potentialAction($potentialAction)
1225
    {
1226
        return $this->setProperty('potentialAction', $potentialAction);
1227
    }
1228
1229
    /**
1230
     * The person or organization who produced the work (e.g. music album,
1231
     * movie, tv/radio series etc.).
1232
     *
1233
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $producer
1234
     *
1235
     * @return static
1236
     *
1237
     * @see http://schema.org/producer
1238
     */
1239
    public function producer($producer)
1240
    {
1241
        return $this->setProperty('producer', $producer);
1242
    }
1243
1244
    /**
1245
     * The service provider, service operator, or service performer; the goods
1246
     * producer. Another party (a seller) may offer those services or goods on
1247
     * behalf of the provider. A provider may also serve as the seller.
1248
     *
1249
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $provider
1250
     *
1251
     * @return static
1252
     *
1253
     * @see http://schema.org/provider
1254
     */
1255
    public function provider($provider)
1256
    {
1257
        return $this->setProperty('provider', $provider);
1258
    }
1259
1260
    /**
1261
     * A publication event associated with the item.
1262
     *
1263
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $publication
1264
     *
1265
     * @return static
1266
     *
1267
     * @see http://schema.org/publication
1268
     */
1269
    public function publication($publication)
1270
    {
1271
        return $this->setProperty('publication', $publication);
1272
    }
1273
1274
    /**
1275
     * The publisher of the creative work.
1276
     *
1277
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $publisher
1278
     *
1279
     * @return static
1280
     *
1281
     * @see http://schema.org/publisher
1282
     */
1283
    public function publisher($publisher)
1284
    {
1285
        return $this->setProperty('publisher', $publisher);
1286
    }
1287
1288
    /**
1289
     * The publishingPrinciples property indicates (typically via [[URL]]) a
1290
     * document describing the editorial principles of an [[Organization]] (or
1291
     * individual e.g. a [[Person]] writing a blog) that relate to their
1292
     * activities as a publisher, e.g. ethics or diversity policies. When
1293
     * applied to a [[CreativeWork]] (e.g. [[NewsArticle]]) the principles are
1294
     * those of the party primarily responsible for the creation of the
1295
     * [[CreativeWork]].
1296
     * 
1297
     * While such policies are most typically expressed in natural language,
1298
     * sometimes related information (e.g. indicating a [[funder]]) can be
1299
     * expressed using schema.org terminology.
1300
     *
1301
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|string|string[] $publishingPrinciples
1302
     *
1303
     * @return static
1304
     *
1305
     * @see http://schema.org/publishingPrinciples
1306
     */
1307
    public function publishingPrinciples($publishingPrinciples)
1308
    {
1309
        return $this->setProperty('publishingPrinciples', $publishingPrinciples);
1310
    }
1311
1312
    /**
1313
     * The Event where the CreativeWork was recorded. The CreativeWork may
1314
     * capture all or part of the event.
1315
     *
1316
     * @param \Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $recordedAt
1317
     *
1318
     * @return static
1319
     *
1320
     * @see http://schema.org/recordedAt
1321
     */
1322
    public function recordedAt($recordedAt)
1323
    {
1324
        return $this->setProperty('recordedAt', $recordedAt);
1325
    }
1326
1327
    /**
1328
     * The place and time the release was issued, expressed as a
1329
     * PublicationEvent.
1330
     *
1331
     * @param \Spatie\SchemaOrg\Contracts\PublicationEventContract|\Spatie\SchemaOrg\Contracts\PublicationEventContract[] $releasedEvent
1332
     *
1333
     * @return static
1334
     *
1335
     * @see http://schema.org/releasedEvent
1336
     */
1337
    public function releasedEvent($releasedEvent)
1338
    {
1339
        return $this->setProperty('releasedEvent', $releasedEvent);
1340
    }
1341
1342
    /**
1343
     * A review of the item.
1344
     *
1345
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $review
1346
     *
1347
     * @return static
1348
     *
1349
     * @see http://schema.org/review
1350
     */
1351
    public function review($review)
1352
    {
1353
        return $this->setProperty('review', $review);
1354
    }
1355
1356
    /**
1357
     * Review of the item.
1358
     *
1359
     * @param \Spatie\SchemaOrg\Contracts\ReviewContract|\Spatie\SchemaOrg\Contracts\ReviewContract[] $reviews
1360
     *
1361
     * @return static
1362
     *
1363
     * @see http://schema.org/reviews
1364
     */
1365
    public function reviews($reviews)
1366
    {
1367
        return $this->setProperty('reviews', $reviews);
1368
    }
1369
1370
    /**
1371
     * URL of a reference Web page that unambiguously indicates the item's
1372
     * identity. E.g. the URL of the item's Wikipedia page, Wikidata entry, or
1373
     * official website.
1374
     *
1375
     * @param string|string[] $sameAs
1376
     *
1377
     * @return static
1378
     *
1379
     * @see http://schema.org/sameAs
1380
     */
1381
    public function sameAs($sameAs)
1382
    {
1383
        return $this->setProperty('sameAs', $sameAs);
1384
    }
1385
1386
    /**
1387
     * Indicates (by URL or string) a particular version of a schema used in
1388
     * some CreativeWork. For example, a document could declare a schemaVersion
1389
     * using an URL such as http://schema.org/version/2.0/ if precise indication
1390
     * of schema version was required by some application.
1391
     *
1392
     * @param string|string[] $schemaVersion
1393
     *
1394
     * @return static
1395
     *
1396
     * @see http://schema.org/schemaVersion
1397
     */
1398
    public function schemaVersion($schemaVersion)
1399
    {
1400
        return $this->setProperty('schemaVersion', $schemaVersion);
1401
    }
1402
1403
    /**
1404
     * The Organization on whose behalf the creator was working.
1405
     *
1406
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[] $sourceOrganization
1407
     *
1408
     * @return static
1409
     *
1410
     * @see http://schema.org/sourceOrganization
1411
     */
1412
    public function sourceOrganization($sourceOrganization)
1413
    {
1414
        return $this->setProperty('sourceOrganization', $sourceOrganization);
1415
    }
1416
1417
    /**
1418
     * The "spatial" property can be used in cases when more specific properties
1419
     * (e.g. [[locationCreated]], [[spatialCoverage]], [[contentLocation]]) are
1420
     * not known to be appropriate.
1421
     *
1422
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatial
1423
     *
1424
     * @return static
1425
     *
1426
     * @see http://schema.org/spatial
1427
     */
1428
    public function spatial($spatial)
1429
    {
1430
        return $this->setProperty('spatial', $spatial);
1431
    }
1432
1433
    /**
1434
     * The spatialCoverage of a CreativeWork indicates the place(s) which are
1435
     * the focus of the content. It is a subproperty of
1436
     *       contentLocation intended primarily for more technical and detailed
1437
     * materials. For example with a Dataset, it indicates
1438
     *       areas that the dataset describes: a dataset of New York weather
1439
     * would have spatialCoverage which was the place: the state of New York.
1440
     *
1441
     * @param \Spatie\SchemaOrg\Contracts\PlaceContract|\Spatie\SchemaOrg\Contracts\PlaceContract[] $spatialCoverage
1442
     *
1443
     * @return static
1444
     *
1445
     * @see http://schema.org/spatialCoverage
1446
     */
1447
    public function spatialCoverage($spatialCoverage)
1448
    {
1449
        return $this->setProperty('spatialCoverage', $spatialCoverage);
1450
    }
1451
1452
    /**
1453
     * A person or organization that supports a thing through a pledge, promise,
1454
     * or financial contribution. e.g. a sponsor of a Medical Study or a
1455
     * corporate sponsor of an event.
1456
     *
1457
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $sponsor
1458
     *
1459
     * @return static
1460
     *
1461
     * @see http://schema.org/sponsor
1462
     */
1463
    public function sponsor($sponsor)
1464
    {
1465
        return $this->setProperty('sponsor', $sponsor);
1466
    }
1467
1468
    /**
1469
     * A CreativeWork or Event about this Thing.
1470
     *
1471
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[]|\Spatie\SchemaOrg\Contracts\EventContract|\Spatie\SchemaOrg\Contracts\EventContract[] $subjectOf
1472
     *
1473
     * @return static
1474
     *
1475
     * @see http://schema.org/subjectOf
1476
     */
1477
    public function subjectOf($subjectOf)
1478
    {
1479
        return $this->setProperty('subjectOf', $subjectOf);
1480
    }
1481
1482
    /**
1483
     * The "temporal" property can be used in cases where more specific
1484
     * properties
1485
     * (e.g. [[temporalCoverage]], [[dateCreated]], [[dateModified]],
1486
     * [[datePublished]]) are not known to be appropriate.
1487
     *
1488
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporal
1489
     *
1490
     * @return static
1491
     *
1492
     * @see http://schema.org/temporal
1493
     */
1494
    public function temporal($temporal)
1495
    {
1496
        return $this->setProperty('temporal', $temporal);
1497
    }
1498
1499
    /**
1500
     * The temporalCoverage of a CreativeWork indicates the period that the
1501
     * content applies to, i.e. that it describes, either as a DateTime or as a
1502
     * textual string indicating a time period in [ISO 8601 time interval
1503
     * format](https://en.wikipedia.org/wiki/ISO_8601#Time_intervals). In
1504
     *       the case of a Dataset it will typically indicate the relevant time
1505
     * period in a precise notation (e.g. for a 2011 census dataset, the year
1506
     * 2011 would be written "2011/2012"). Other forms of content e.g.
1507
     * ScholarlyArticle, Book, TVSeries or TVEpisode may indicate their
1508
     * temporalCoverage in broader terms - textually or via well-known URL.
1509
     *       Written works such as books may sometimes have precise temporal
1510
     * coverage too, e.g. a work set in 1939 - 1945 can be indicated in ISO 8601
1511
     * interval format format via "1939/1945".
1512
     * 
1513
     * Open-ended date ranges can be written with ".." in place of the end date.
1514
     * For example, "2015-11/.." indicates a range beginning in November 2015
1515
     * and with no specified final date. This is tentative and might be updated
1516
     * in future when ISO 8601 is officially updated.
1517
     *
1518
     * @param \DateTimeInterface|\DateTimeInterface[]|string|string[] $temporalCoverage
1519
     *
1520
     * @return static
1521
     *
1522
     * @see http://schema.org/temporalCoverage
1523
     */
1524
    public function temporalCoverage($temporalCoverage)
1525
    {
1526
        return $this->setProperty('temporalCoverage', $temporalCoverage);
1527
    }
1528
1529
    /**
1530
     * The textual content of this CreativeWork.
1531
     *
1532
     * @param string|string[] $text
1533
     *
1534
     * @return static
1535
     *
1536
     * @see http://schema.org/text
1537
     */
1538
    public function text($text)
1539
    {
1540
        return $this->setProperty('text', $text);
1541
    }
1542
1543
    /**
1544
     * A thumbnail image relevant to the Thing.
1545
     *
1546
     * @param string|string[] $thumbnailUrl
1547
     *
1548
     * @return static
1549
     *
1550
     * @see http://schema.org/thumbnailUrl
1551
     */
1552
    public function thumbnailUrl($thumbnailUrl)
1553
    {
1554
        return $this->setProperty('thumbnailUrl', $thumbnailUrl);
1555
    }
1556
1557
    /**
1558
     * Approximate or typical time it takes to work with or through this
1559
     * learning resource for the typical intended target audience, e.g. 'PT30M',
1560
     * 'PT1H25M'.
1561
     *
1562
     * @param \Spatie\SchemaOrg\Contracts\DurationContract|\Spatie\SchemaOrg\Contracts\DurationContract[] $timeRequired
1563
     *
1564
     * @return static
1565
     *
1566
     * @see http://schema.org/timeRequired
1567
     */
1568
    public function timeRequired($timeRequired)
1569
    {
1570
        return $this->setProperty('timeRequired', $timeRequired);
1571
    }
1572
1573
    /**
1574
     * Organization or person who adapts a creative work to different languages,
1575
     * regional differences and technical requirements of a target market, or
1576
     * that translates during some event.
1577
     *
1578
     * @param \Spatie\SchemaOrg\Contracts\OrganizationContract|\Spatie\SchemaOrg\Contracts\OrganizationContract[]|\Spatie\SchemaOrg\Contracts\PersonContract|\Spatie\SchemaOrg\Contracts\PersonContract[] $translator
1579
     *
1580
     * @return static
1581
     *
1582
     * @see http://schema.org/translator
1583
     */
1584
    public function translator($translator)
1585
    {
1586
        return $this->setProperty('translator', $translator);
1587
    }
1588
1589
    /**
1590
     * The typical expected age range, e.g. '7-9', '11-'.
1591
     *
1592
     * @param string|string[] $typicalAgeRange
1593
     *
1594
     * @return static
1595
     *
1596
     * @see http://schema.org/typicalAgeRange
1597
     */
1598
    public function typicalAgeRange($typicalAgeRange)
1599
    {
1600
        return $this->setProperty('typicalAgeRange', $typicalAgeRange);
1601
    }
1602
1603
    /**
1604
     * URL of the item.
1605
     *
1606
     * @param string|string[] $url
1607
     *
1608
     * @return static
1609
     *
1610
     * @see http://schema.org/url
1611
     */
1612
    public function url($url)
1613
    {
1614
        return $this->setProperty('url', $url);
1615
    }
1616
1617
    /**
1618
     * The version of the CreativeWork embodied by a specified resource.
1619
     *
1620
     * @param float|float[]|int|int[]|string|string[] $version
1621
     *
1622
     * @return static
1623
     *
1624
     * @see http://schema.org/version
1625
     */
1626
    public function version($version)
1627
    {
1628
        return $this->setProperty('version', $version);
1629
    }
1630
1631
    /**
1632
     * An embedded video object.
1633
     *
1634
     * @param \Spatie\SchemaOrg\Contracts\ClipContract|\Spatie\SchemaOrg\Contracts\ClipContract[]|\Spatie\SchemaOrg\Contracts\VideoObjectContract|\Spatie\SchemaOrg\Contracts\VideoObjectContract[] $video
1635
     *
1636
     * @return static
1637
     *
1638
     * @see http://schema.org/video
1639
     */
1640
    public function video($video)
1641
    {
1642
        return $this->setProperty('video', $video);
1643
    }
1644
1645
    /**
1646
     * Example/instance/realization/derivation of the concept of this creative
1647
     * work. eg. The paperback edition, first edition, or eBook.
1648
     *
1649
     * @param \Spatie\SchemaOrg\Contracts\CreativeWorkContract|\Spatie\SchemaOrg\Contracts\CreativeWorkContract[] $workExample
1650
     *
1651
     * @return static
1652
     *
1653
     * @see http://schema.org/workExample
1654
     */
1655
    public function workExample($workExample)
1656
    {
1657
        return $this->setProperty('workExample', $workExample);
1658
    }
1659
1660
}
1661