Code Duplication    Length = 1513-1529 lines in 22 locations

src/Code.php 1 location

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

src/Conversation.php 1 location

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

src/CreativeWork.php 1 location

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

src/DataCatalog.php 1 location

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

src/DigitalDocument.php 1 location

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

src/Map.php 1 location

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

src/NoteDigitalDocument.php 1 location

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

src/Painting.php 1 location

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

src/Photograph.php 1 location

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

src/PresentationDigitalDocument.php 1 location

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

src/Sculpture.php 1 location

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

src/Season.php 1 location

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

src/SiteNavigationElement.php 1 location

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

src/SpreadsheetDigitalDocument.php 1 location

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

src/Table.php 1 location

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

src/TextDigitalDocument.php 1 location

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

src/WebPageElement.php 1 location

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

src/WebSite.php 1 location

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

src/WPAdBlock.php 1 location

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

src/WPFooter.php 1 location

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

src/WPHeader.php 1 location

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

src/WPSideBar.php 1 location

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