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