schema_org-rb 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +5 -6
  4. data/lib/schema_org/generated_vocabulary.rb +9 -0
  5. data/lib/schema_org/mixins/action.rb +1 -1
  6. data/lib/schema_org/mixins/api_reference.rb +1 -1
  7. data/lib/schema_org/mixins/artery.rb +1 -1
  8. data/lib/schema_org/mixins/blog.rb +1 -1
  9. data/lib/schema_org/mixins/brand.rb +1 -1
  10. data/lib/schema_org/mixins/broadcast_service.rb +1 -1
  11. data/lib/schema_org/mixins/buy_action.rb +3 -1
  12. data/lib/schema_org/mixins/choose_action.rb +1 -1
  13. data/lib/schema_org/mixins/clip.rb +3 -3
  14. data/lib/schema_org/mixins/communicate_action.rb +1 -1
  15. data/lib/schema_org/mixins/contact_point.rb +2 -2
  16. data/lib/schema_org/mixins/creative_work.rb +11 -11
  17. data/lib/schema_org/mixins/creative_work_season.rb +4 -4
  18. data/lib/schema_org/mixins/dataset.rb +3 -1
  19. data/lib/schema_org/mixins/declaration_of_conformity.rb +16 -0
  20. data/lib/schema_org/mixins/delivery_charge_specification.rb +1 -1
  21. data/lib/schema_org/mixins/demand.rb +5 -3
  22. data/lib/schema_org/mixins/digital_product_passport.rb +16 -0
  23. data/lib/schema_org/mixins/drug.rb +1 -1
  24. data/lib/schema_org/mixins/educational_occupational_program.rb +1 -1
  25. data/lib/schema_org/mixins/entry_point.rb +1 -1
  26. data/lib/schema_org/mixins/environmental_product_declaration.rb +16 -0
  27. data/lib/schema_org/mixins/episode.rb +3 -3
  28. data/lib/schema_org/mixins/event.rb +9 -9
  29. data/lib/schema_org/mixins/exercise_action.rb +1 -1
  30. data/lib/schema_org/mixins/financial_incentive.rb +2 -2
  31. data/lib/schema_org/mixins/flight.rb +3 -1
  32. data/lib/schema_org/mixins/food_establishment.rb +1 -1
  33. data/lib/schema_org/mixins/health_insurance_plan.rb +1 -1
  34. data/lib/schema_org/mixins/how_to.rb +1 -1
  35. data/lib/schema_org/mixins/inform_action.rb +1 -1
  36. data/lib/schema_org/mixins/invite_action.rb +1 -1
  37. data/lib/schema_org/mixins/invoice.rb +3 -3
  38. data/lib/schema_org/mixins/job_posting.rb +2 -2
  39. data/lib/schema_org/mixins/join_action.rb +1 -1
  40. data/lib/schema_org/mixins/leave_action.rb +1 -1
  41. data/lib/schema_org/mixins/link_role.rb +1 -1
  42. data/lib/schema_org/mixins/lodging_business.rb +1 -1
  43. data/lib/schema_org/mixins/media_object.rb +1 -1
  44. data/lib/schema_org/mixins/merchant_return_policy.rb +2 -2
  45. data/lib/schema_org/mixins/merchant_return_policy_seasonal_override.rb +1 -1
  46. data/lib/schema_org/mixins/monetary_amount.rb +4 -4
  47. data/lib/schema_org/mixins/movie.rb +2 -2
  48. data/lib/schema_org/mixins/movie_series.rb +2 -2
  49. data/lib/schema_org/mixins/music_group.rb +2 -2
  50. data/lib/schema_org/mixins/music_playlist.rb +1 -1
  51. data/lib/schema_org/mixins/offer.rb +47 -5
  52. data/lib/schema_org/mixins/offer_shipping_details.rb +22 -0
  53. data/lib/schema_org/mixins/order.rb +5 -3
  54. data/lib/schema_org/mixins/organization.rb +34 -12
  55. data/lib/schema_org/mixins/parcel_delivery.rb +1 -1
  56. data/lib/schema_org/mixins/person.rb +6 -6
  57. data/lib/schema_org/mixins/place.rb +8 -6
  58. data/lib/schema_org/mixins/play_action.rb +2 -2
  59. data/lib/schema_org/mixins/podcast_series.rb +1 -1
  60. data/lib/schema_org/mixins/product.rb +164 -4
  61. data/lib/schema_org/mixins/product_group.rb +4 -4
  62. data/lib/schema_org/mixins/program_membership.rb +3 -1
  63. data/lib/schema_org/mixins/pronounceable_text.rb +1 -1
  64. data/lib/schema_org/mixins/property_value.rb +24 -4
  65. data/lib/schema_org/mixins/quantitative_value.rb +4 -4
  66. data/lib/schema_org/mixins/radio_series.rb +5 -5
  67. data/lib/schema_org/mixins/recipe.rb +1 -1
  68. data/lib/schema_org/mixins/reservation.rb +2 -2
  69. data/lib/schema_org/mixins/role.rb +1 -1
  70. data/lib/schema_org/mixins/service.rb +8 -8
  71. data/lib/schema_org/mixins/shipping_rate_settings.rb +20 -0
  72. data/lib/schema_org/mixins/software_application.rb +3 -3
  73. data/lib/schema_org/mixins/software_source_code.rb +2 -2
  74. data/lib/schema_org/mixins/trip.rb +1 -1
  75. data/lib/schema_org/mixins/tv_series.rb +5 -5
  76. data/lib/schema_org/mixins/update_action.rb +1 -1
  77. data/lib/schema_org/mixins/video_game.rb +2 -2
  78. data/lib/schema_org/mixins/video_game_series.rb +5 -5
  79. data/lib/schema_org/mixins/video_object.rb +2 -2
  80. data/lib/schema_org/mixins/visual_artwork.rb +1 -1
  81. data/lib/schema_org/mixins/web_page.rb +2 -2
  82. data/lib/schema_org/mixins/write_action.rb +1 -1
  83. data/lib/schema_org/schema_version.rb +1 -1
  84. data/lib/schema_org/types/declaration_of_conformity.rb +35 -0
  85. data/lib/schema_org/types/digital_product_passport.rb +35 -0
  86. data/lib/schema_org/types/environmental_product_declaration.rb +35 -0
  87. data/lib/schema_org/types/interaction_counter.rb +9 -0
  88. data/lib/schema_org/types/it_nonprofit_type.rb +8 -2
  89. data/lib/schema_org/types/medical_specialty.rb +3 -1
  90. data/lib/schema_org/types/price_type_enumeration.rb +2 -1
  91. data/lib/schema_org/version.rb +1 -1
  92. data/sig/schema_org.rbs +1646 -204
  93. metadata +8 -2
@@ -78,7 +78,17 @@ module SchemaOrg
78
78
  external_ranges: [].freeze,
79
79
  inverse_of: nil,
80
80
  superseded_by: nil,
81
- supersedes: "serviceArea"
81
+ supersedes: ["serviceArea"].freeze
82
+ }.freeze,
83
+ authorized_representative: {
84
+ schema_name: "authorizedRepresentative",
85
+ schema_url: "https://schema.org/authorizedRepresentative",
86
+ comment_lines: ["An organization or person officially appointed to act on behalf of the manufacturer in a specific region or context."].freeze,
87
+ ranges: ["Organization", "Person"].freeze,
88
+ external_ranges: [].freeze,
89
+ inverse_of: nil,
90
+ superseded_by: nil,
91
+ supersedes: nil
82
92
  }.freeze,
83
93
  award: {
84
94
  schema_name: "award",
@@ -88,7 +98,7 @@ module SchemaOrg
88
98
  external_ranges: [].freeze,
89
99
  inverse_of: nil,
90
100
  superseded_by: nil,
91
- supersedes: "awards"
101
+ supersedes: ["awards"].freeze
92
102
  }.freeze,
93
103
  awards: {
94
104
  schema_name: "awards",
@@ -128,7 +138,7 @@ module SchemaOrg
128
138
  external_ranges: [].freeze,
129
139
  inverse_of: nil,
130
140
  superseded_by: nil,
131
- supersedes: "contactPoints"
141
+ supersedes: ["contactPoints"].freeze
132
142
  }.freeze,
133
143
  contact_points: {
134
144
  schema_name: "contactPoints",
@@ -218,7 +228,7 @@ module SchemaOrg
218
228
  external_ranges: [].freeze,
219
229
  inverse_of: nil,
220
230
  superseded_by: nil,
221
- supersedes: "employees"
231
+ supersedes: ["employees"].freeze
222
232
  }.freeze,
223
233
  employees: {
224
234
  schema_name: "employees",
@@ -248,7 +258,7 @@ module SchemaOrg
248
258
  external_ranges: [].freeze,
249
259
  inverse_of: nil,
250
260
  superseded_by: nil,
251
- supersedes: "events"
261
+ supersedes: ["events"].freeze
252
262
  }.freeze,
253
263
  events: {
254
264
  schema_name: "events",
@@ -278,7 +288,7 @@ module SchemaOrg
278
288
  external_ranges: [].freeze,
279
289
  inverse_of: nil,
280
290
  superseded_by: nil,
281
- supersedes: "founders"
291
+ supersedes: ["founders"].freeze
282
292
  }.freeze,
283
293
  founders: {
284
294
  schema_name: "founders",
@@ -388,7 +398,7 @@ module SchemaOrg
388
398
  external_ranges: [].freeze,
389
399
  inverse_of: nil,
390
400
  superseded_by: nil,
391
- supersedes: "hasProductReturnPolicy"
401
+ supersedes: ["hasProductReturnPolicy"].freeze
392
402
  }.freeze,
393
403
  has_offer_catalog: {
394
404
  schema_name: "hasOfferCatalog",
@@ -438,7 +448,7 @@ module SchemaOrg
438
448
  external_ranges: [].freeze,
439
449
  inverse_of: nil,
440
450
  superseded_by: nil,
441
- supersedes: "interactionCount"
451
+ supersedes: ["interactionCount"].freeze
442
452
  }.freeze,
443
453
  isic_v4: {
444
454
  schema_name: "isicV4",
@@ -568,7 +578,7 @@ module SchemaOrg
568
578
  external_ranges: [].freeze,
569
579
  inverse_of: "memberOf",
570
580
  superseded_by: nil,
571
- supersedes: "musicGroupMember"
581
+ supersedes: ["members", "musicGroupMember"].freeze
572
582
  }.freeze,
573
583
  member_of: {
574
584
  schema_name: "memberOf",
@@ -648,7 +658,7 @@ module SchemaOrg
648
658
  external_ranges: [].freeze,
649
659
  inverse_of: "subOrganization",
650
660
  superseded_by: nil,
651
- supersedes: "branchOf"
661
+ supersedes: ["branchOf"].freeze
652
662
  }.freeze,
653
663
  publishing_principles: {
654
664
  schema_name: "publishingPrinciples",
@@ -668,7 +678,7 @@ module SchemaOrg
668
678
  external_ranges: [].freeze,
669
679
  inverse_of: nil,
670
680
  superseded_by: nil,
671
- supersedes: "reviews"
681
+ supersedes: ["reviews"].freeze
672
682
  }.freeze,
673
683
  reviews: {
674
684
  schema_name: "reviews",
@@ -698,7 +708,7 @@ module SchemaOrg
698
708
  external_ranges: [].freeze,
699
709
  inverse_of: nil,
700
710
  superseded_by: "areaServed",
701
- supersedes: "area"
711
+ supersedes: ["area"].freeze
702
712
  }.freeze,
703
713
  skills: {
704
714
  schema_name: "skills",
@@ -857,6 +867,16 @@ module SchemaOrg
857
867
  write_property(:area_served, value)
858
868
  end
859
869
 
870
+ # An organization or person officially appointed to act on behalf of the manufacturer in a specific region or context.
871
+ def authorized_representative
872
+ read_property(:authorized_representative)
873
+ end
874
+
875
+ # An organization or person officially appointed to act on behalf of the manufacturer in a specific region or context.
876
+ def authorized_representative=(value)
877
+ write_property(:authorized_representative, value)
878
+ end
879
+
860
880
  # An award won by or for this item.
861
881
  # Supersedes `awards`.
862
882
  def award
@@ -1368,6 +1388,7 @@ module SchemaOrg
1368
1388
  end
1369
1389
 
1370
1390
  # A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.
1391
+ # Supersedes `members`.
1371
1392
  # Supersedes `musicGroupMember`.
1372
1393
  # Inverse-property: `memberOf`.
1373
1394
  def member
@@ -1375,6 +1396,7 @@ module SchemaOrg
1375
1396
  end
1376
1397
 
1377
1398
  # A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.
1399
+ # Supersedes `members`.
1378
1400
  # Supersedes `musicGroupMember`.
1379
1401
  # Inverse-property: `memberOf`.
1380
1402
  def member=(value)
@@ -108,7 +108,7 @@ module SchemaOrg
108
108
  external_ranges: [].freeze,
109
109
  inverse_of: nil,
110
110
  superseded_by: nil,
111
- supersedes: "carrier"
111
+ supersedes: ["carrier"].freeze
112
112
  }.freeze,
113
113
  tracking_number: {
114
114
  schema_name: "trackingNumber",
@@ -68,7 +68,7 @@ module SchemaOrg
68
68
  external_ranges: [].freeze,
69
69
  inverse_of: nil,
70
70
  superseded_by: nil,
71
- supersedes: "awards"
71
+ supersedes: ["awards"].freeze
72
72
  }.freeze,
73
73
  awards: {
74
74
  schema_name: "awards",
@@ -138,7 +138,7 @@ module SchemaOrg
138
138
  external_ranges: [].freeze,
139
139
  inverse_of: nil,
140
140
  superseded_by: nil,
141
- supersedes: "colleagues"
141
+ supersedes: ["colleagues"].freeze
142
142
  }.freeze,
143
143
  colleagues: {
144
144
  schema_name: "colleagues",
@@ -158,7 +158,7 @@ module SchemaOrg
158
158
  external_ranges: [].freeze,
159
159
  inverse_of: nil,
160
160
  superseded_by: nil,
161
- supersedes: "contactPoints"
161
+ supersedes: ["contactPoints"].freeze
162
162
  }.freeze,
163
163
  contact_points: {
164
164
  schema_name: "contactPoints",
@@ -388,7 +388,7 @@ module SchemaOrg
388
388
  external_ranges: [].freeze,
389
389
  inverse_of: nil,
390
390
  superseded_by: nil,
391
- supersedes: "interactionCount"
391
+ supersedes: ["interactionCount"].freeze
392
392
  }.freeze,
393
393
  isic_v4: {
394
394
  schema_name: "isicV4",
@@ -518,7 +518,7 @@ module SchemaOrg
518
518
  external_ranges: [].freeze,
519
519
  inverse_of: nil,
520
520
  superseded_by: nil,
521
- supersedes: "parents"
521
+ supersedes: ["parents"].freeze
522
522
  }.freeze,
523
523
  parents: {
524
524
  schema_name: "parents",
@@ -588,7 +588,7 @@ module SchemaOrg
588
588
  external_ranges: [].freeze,
589
589
  inverse_of: nil,
590
590
  superseded_by: nil,
591
- supersedes: "siblings"
591
+ supersedes: ["siblings"].freeze
592
592
  }.freeze,
593
593
  siblings: {
594
594
  schema_name: "siblings",
@@ -78,7 +78,7 @@ module SchemaOrg
78
78
  external_ranges: [].freeze,
79
79
  inverse_of: "containsPlace",
80
80
  superseded_by: nil,
81
- supersedes: "containedIn"
81
+ supersedes: ["containedIn"].freeze
82
82
  }.freeze,
83
83
  contains_place: {
84
84
  schema_name: "containsPlace",
@@ -98,7 +98,7 @@ module SchemaOrg
98
98
  external_ranges: [].freeze,
99
99
  inverse_of: nil,
100
100
  superseded_by: nil,
101
- supersedes: "events"
101
+ supersedes: ["events"].freeze
102
102
  }.freeze,
103
103
  events: {
104
104
  schema_name: "events",
@@ -278,7 +278,7 @@ module SchemaOrg
278
278
  external_ranges: [].freeze,
279
279
  inverse_of: nil,
280
280
  superseded_by: nil,
281
- supersedes: "maps"
281
+ supersedes: ["map", "maps"].freeze
282
282
  }.freeze,
283
283
  is_accessible_for_free: {
284
284
  schema_name: "isAccessibleForFree",
@@ -288,7 +288,7 @@ module SchemaOrg
288
288
  external_ranges: [].freeze,
289
289
  inverse_of: nil,
290
290
  superseded_by: nil,
291
- supersedes: "free"
291
+ supersedes: ["free"].freeze
292
292
  }.freeze,
293
293
  isic_v4: {
294
294
  schema_name: "isicV4",
@@ -388,7 +388,7 @@ module SchemaOrg
388
388
  external_ranges: [].freeze,
389
389
  inverse_of: nil,
390
390
  superseded_by: nil,
391
- supersedes: "photos"
391
+ supersedes: ["photos"].freeze
392
392
  }.freeze,
393
393
  photos: {
394
394
  schema_name: "photos",
@@ -418,7 +418,7 @@ module SchemaOrg
418
418
  external_ranges: [].freeze,
419
419
  inverse_of: nil,
420
420
  superseded_by: nil,
421
- supersedes: "reviews"
421
+ supersedes: ["reviews"].freeze
422
422
  }.freeze,
423
423
  reviews: {
424
424
  schema_name: "reviews",
@@ -756,12 +756,14 @@ module SchemaOrg
756
756
  end
757
757
 
758
758
  # A URL to a map of the place.
759
+ # Supersedes `map`.
759
760
  # Supersedes `maps`.
760
761
  def has_map
761
762
  read_property(:has_map)
762
763
  end
763
764
 
764
765
  # A URL to a map of the place.
766
+ # Supersedes `map`.
765
767
  # Supersedes `maps`.
766
768
  def has_map=(value)
767
769
  write_property(:has_map, value)
@@ -18,7 +18,7 @@ module SchemaOrg
18
18
  external_ranges: [].freeze,
19
19
  inverse_of: nil,
20
20
  superseded_by: nil,
21
- supersedes: "serviceAudience"
21
+ supersedes: ["serviceAudience"].freeze
22
22
  }.freeze,
23
23
  event: {
24
24
  schema_name: "event",
@@ -28,7 +28,7 @@ module SchemaOrg
28
28
  external_ranges: [].freeze,
29
29
  inverse_of: nil,
30
30
  superseded_by: nil,
31
- supersedes: "events"
31
+ supersedes: ["events"].freeze
32
32
  }.freeze
33
33
  }.freeze
34
34
  end
@@ -18,7 +18,7 @@ module SchemaOrg
18
18
  external_ranges: [].freeze,
19
19
  inverse_of: nil,
20
20
  superseded_by: nil,
21
- supersedes: "actors"
21
+ supersedes: ["actors"].freeze
22
22
  }.freeze,
23
23
  web_feed: {
24
24
  schema_name: "webFeed",
@@ -48,7 +48,17 @@ module SchemaOrg
48
48
  external_ranges: [].freeze,
49
49
  inverse_of: nil,
50
50
  superseded_by: nil,
51
- supersedes: "serviceAudience"
51
+ supersedes: ["serviceAudience"].freeze
52
+ }.freeze,
53
+ authorized_representative: {
54
+ schema_name: "authorizedRepresentative",
55
+ schema_url: "https://schema.org/authorizedRepresentative",
56
+ comment_lines: ["An organization or person officially appointed to act on behalf of the manufacturer in a specific region or context."].freeze,
57
+ ranges: ["Organization", "Person"].freeze,
58
+ external_ranges: [].freeze,
59
+ inverse_of: nil,
60
+ superseded_by: nil,
61
+ supersedes: nil
52
62
  }.freeze,
53
63
  award: {
54
64
  schema_name: "award",
@@ -58,7 +68,7 @@ module SchemaOrg
58
68
  external_ranges: [].freeze,
59
69
  inverse_of: nil,
60
70
  superseded_by: nil,
61
- supersedes: "awards"
71
+ supersedes: ["awards"].freeze
62
72
  }.freeze,
63
73
  awards: {
64
74
  schema_name: "awards",
@@ -110,6 +120,16 @@ module SchemaOrg
110
120
  superseded_by: nil,
111
121
  supersedes: nil
112
122
  }.freeze,
123
+ consumer_notice: {
124
+ schema_name: "consumerNotice",
125
+ schema_url: "https://schema.org/consumerNotice",
126
+ comment_lines: ["A consumer notice, such as a safety warning or mandatory information, related to the product."].freeze,
127
+ ranges: ["Text", "TextObject", "URL", "WebContent"].freeze,
128
+ external_ranges: [].freeze,
129
+ inverse_of: nil,
130
+ superseded_by: nil,
131
+ supersedes: nil
132
+ }.freeze,
113
133
  country_of_assembly: {
114
134
  schema_name: "countryOfAssembly",
115
135
  schema_url: "https://schema.org/countryOfAssembly",
@@ -240,6 +260,16 @@ module SchemaOrg
240
260
  superseded_by: nil,
241
261
  supersedes: nil
242
262
  }.freeze,
263
+ has_digital_product_passport: {
264
+ schema_name: "hasDigitalProductPassport",
265
+ schema_url: "https://schema.org/hasDigitalProductPassport",
266
+ comment_lines: ["A link to a Digital Product Passport (DPP) or a digital record detailing the lifecycle, sustainability, and compliance data for this product or offer. This may be a direct URL, a GS1 Digital Link URI, or a nested DigitalProductPassport object. Note: This property is aligned with the IANA 'dpp' link relation and the GS1 Web Vocabulary 'dpp' link type."].freeze,
267
+ ranges: ["DigitalProductPassport", "URL"].freeze,
268
+ external_ranges: [].freeze,
269
+ inverse_of: nil,
270
+ superseded_by: nil,
271
+ supersedes: nil
272
+ }.freeze,
243
273
  has_energy_consumption_details: {
244
274
  schema_name: "hasEnergyConsumptionDetails",
245
275
  schema_url: "https://schema.org/hasEnergyConsumptionDetails",
@@ -278,7 +308,7 @@ module SchemaOrg
278
308
  external_ranges: [].freeze,
279
309
  inverse_of: nil,
280
310
  superseded_by: nil,
281
- supersedes: "hasProductReturnPolicy"
311
+ supersedes: ["hasProductReturnPolicy"].freeze
282
312
  }.freeze,
283
313
  has_product_return_policy: {
284
314
  schema_name: "hasProductReturnPolicy",
@@ -300,6 +330,16 @@ module SchemaOrg
300
330
  superseded_by: nil,
301
331
  supersedes: nil
302
332
  }.freeze,
333
+ importer: {
334
+ schema_name: "importer",
335
+ schema_url: "https://schema.org/importer",
336
+ comment_lines: ["An organization or person who imports the product into a specific market or region."].freeze,
337
+ ranges: ["Organization", "Person"].freeze,
338
+ external_ranges: [].freeze,
339
+ inverse_of: nil,
340
+ superseded_by: nil,
341
+ supersedes: nil
342
+ }.freeze,
303
343
  in_product_group_with_id: {
304
344
  schema_name: "inProductGroupWithID",
305
345
  schema_url: "https://schema.org/inProductGroupWithID",
@@ -340,6 +380,16 @@ module SchemaOrg
340
380
  superseded_by: nil,
341
381
  supersedes: nil
342
382
  }.freeze,
383
+ is_often_bought_with: {
384
+ schema_name: "isOftenBoughtWith",
385
+ schema_url: "https://schema.org/isOftenBoughtWith",
386
+ comment_lines: ["Indicates a product that is often bought with the described product."].freeze,
387
+ ranges: ["Product"].freeze,
388
+ external_ranges: [].freeze,
389
+ inverse_of: nil,
390
+ superseded_by: nil,
391
+ supersedes: nil
392
+ }.freeze,
343
393
  is_related_to: {
344
394
  schema_name: "isRelatedTo",
345
395
  schema_url: "https://schema.org/isRelatedTo",
@@ -530,6 +580,16 @@ module SchemaOrg
530
580
  superseded_by: nil,
531
581
  supersedes: nil
532
582
  }.freeze,
583
+ recycled_content_percentage: {
584
+ schema_name: "recycledContentPercentage",
585
+ schema_url: "https://schema.org/recycledContentPercentage",
586
+ comment_lines: ["The percentage of recycled material in the product."].freeze,
587
+ ranges: ["Number"].freeze,
588
+ external_ranges: [].freeze,
589
+ inverse_of: nil,
590
+ superseded_by: nil,
591
+ supersedes: nil
592
+ }.freeze,
533
593
  release_date: {
534
594
  schema_name: "releaseDate",
535
595
  schema_url: "https://schema.org/releaseDate",
@@ -548,7 +608,7 @@ module SchemaOrg
548
608
  external_ranges: [].freeze,
549
609
  inverse_of: nil,
550
610
  superseded_by: nil,
551
- supersedes: "reviews"
611
+ supersedes: ["reviews"].freeze
552
612
  }.freeze,
553
613
  reviews: {
554
614
  schema_name: "reviews",
@@ -590,6 +650,26 @@ module SchemaOrg
590
650
  superseded_by: nil,
591
651
  supersedes: nil
592
652
  }.freeze,
653
+ specification: {
654
+ schema_name: "specification",
655
+ schema_url: "https://schema.org/specification",
656
+ comment_lines: ["A specification of the product, often grouped by a section header/name. This is a cleaner alternative to additionalProperty for strict retail product specifications."].freeze,
657
+ ranges: ["PropertyValue"].freeze,
658
+ external_ranges: [].freeze,
659
+ inverse_of: nil,
660
+ superseded_by: nil,
661
+ supersedes: nil
662
+ }.freeze,
663
+ substance_of_concern: {
664
+ schema_name: "substanceOfConcern",
665
+ schema_url: "https://schema.org/substanceOfConcern",
666
+ comment_lines: ["A substance of concern (SoC) contained within the product, typically based on regulatory lists like REACH or RoHS."].freeze,
667
+ ranges: ["ChemicalSubstance", "DefinedTerm", "Text", "URL"].freeze,
668
+ external_ranges: [].freeze,
669
+ inverse_of: nil,
670
+ superseded_by: nil,
671
+ supersedes: nil
672
+ }.freeze,
593
673
  weight: {
594
674
  schema_name: "weight",
595
675
  schema_url: "https://schema.org/weight",
@@ -661,6 +741,16 @@ module SchemaOrg
661
741
  write_property(:audience, value)
662
742
  end
663
743
 
744
+ # An organization or person officially appointed to act on behalf of the manufacturer in a specific region or context.
745
+ def authorized_representative
746
+ read_property(:authorized_representative)
747
+ end
748
+
749
+ # An organization or person officially appointed to act on behalf of the manufacturer in a specific region or context.
750
+ def authorized_representative=(value)
751
+ write_property(:authorized_representative, value)
752
+ end
753
+
664
754
  # An award won by or for this item.
665
755
  # Supersedes `awards`.
666
756
  def award
@@ -725,6 +815,16 @@ module SchemaOrg
725
815
  write_property(:color_swatch, value)
726
816
  end
727
817
 
818
+ # A consumer notice, such as a safety warning or mandatory information, related to the product.
819
+ def consumer_notice
820
+ read_property(:consumer_notice)
821
+ end
822
+
823
+ # A consumer notice, such as a safety warning or mandatory information, related to the product.
824
+ def consumer_notice=(value)
825
+ write_property(:consumer_notice, value)
826
+ end
827
+
728
828
  # The place where the product was assembled.
729
829
  def country_of_assembly
730
830
  read_property(:country_of_assembly)
@@ -879,6 +979,16 @@ module SchemaOrg
879
979
  write_property(:has_certification, value)
880
980
  end
881
981
 
982
+ # A link to a Digital Product Passport (DPP) or a digital record detailing the lifecycle, sustainability, and compliance data for this product or offer. This may be a direct URL, a GS1 Digital Link URI, or a nested DigitalProductPassport object. Note: This property is aligned with the IANA 'dpp' link relation and the GS1 Web Vocabulary 'dpp' link type.
983
+ def has_digital_product_passport
984
+ read_property(:has_digital_product_passport)
985
+ end
986
+
987
+ # A link to a Digital Product Passport (DPP) or a digital record detailing the lifecycle, sustainability, and compliance data for this product or offer. This may be a direct URL, a GS1 Digital Link URI, or a nested DigitalProductPassport object. Note: This property is aligned with the IANA 'dpp' link relation and the GS1 Web Vocabulary 'dpp' link type.
988
+ def has_digital_product_passport=(value)
989
+ write_property(:has_digital_product_passport, value)
990
+ end
991
+
882
992
  # Defines the energy efficiency Category (also known as "class" or "rating") for a product according to an international energy efficiency standard.
883
993
  def has_energy_consumption_details
884
994
  read_property(:has_energy_consumption_details)
@@ -943,6 +1053,16 @@ module SchemaOrg
943
1053
  write_property(:height, value)
944
1054
  end
945
1055
 
1056
+ # An organization or person who imports the product into a specific market or region.
1057
+ def importer
1058
+ read_property(:importer)
1059
+ end
1060
+
1061
+ # An organization or person who imports the product into a specific market or region.
1062
+ def importer=(value)
1063
+ write_property(:importer, value)
1064
+ end
1065
+
946
1066
  # Indicates the [[productGroupID]] for a [[ProductGroup]] that this product [[isVariantOf]].
947
1067
  def in_product_group_with_id
948
1068
  read_property(:in_product_group_with_id)
@@ -983,6 +1103,16 @@ module SchemaOrg
983
1103
  write_property(:is_family_friendly, value)
984
1104
  end
985
1105
 
1106
+ # Indicates a product that is often bought with the described product.
1107
+ def is_often_bought_with
1108
+ read_property(:is_often_bought_with)
1109
+ end
1110
+
1111
+ # Indicates a product that is often bought with the described product.
1112
+ def is_often_bought_with=(value)
1113
+ write_property(:is_often_bought_with, value)
1114
+ end
1115
+
986
1116
  # A pointer to another, somehow related product (or multiple products).
987
1117
  def is_related_to
988
1118
  read_property(:is_related_to)
@@ -1199,6 +1329,16 @@ module SchemaOrg
1199
1329
  write_property(:purchase_date, value)
1200
1330
  end
1201
1331
 
1332
+ # The percentage of recycled material in the product.
1333
+ def recycled_content_percentage
1334
+ read_property(:recycled_content_percentage)
1335
+ end
1336
+
1337
+ # The percentage of recycled material in the product.
1338
+ def recycled_content_percentage=(value)
1339
+ write_property(:recycled_content_percentage, value)
1340
+ end
1341
+
1202
1342
  # The release date of a product or product model. This can be used to distinguish the exact variant of a product.
1203
1343
  def release_date
1204
1344
  read_property(:release_date)
@@ -1263,6 +1403,26 @@ module SchemaOrg
1263
1403
  write_property(:slogan, value)
1264
1404
  end
1265
1405
 
1406
+ # A specification of the product, often grouped by a section header/name. This is a cleaner alternative to additionalProperty for strict retail product specifications.
1407
+ def specification
1408
+ read_property(:specification)
1409
+ end
1410
+
1411
+ # A specification of the product, often grouped by a section header/name. This is a cleaner alternative to additionalProperty for strict retail product specifications.
1412
+ def specification=(value)
1413
+ write_property(:specification, value)
1414
+ end
1415
+
1416
+ # A substance of concern (SoC) contained within the product, typically based on regulatory lists like REACH or RoHS.
1417
+ def substance_of_concern
1418
+ read_property(:substance_of_concern)
1419
+ end
1420
+
1421
+ # A substance of concern (SoC) contained within the product, typically based on regulatory lists like REACH or RoHS.
1422
+ def substance_of_concern=(value)
1423
+ write_property(:substance_of_concern, value)
1424
+ end
1425
+
1266
1426
  # The weight of the product or person.
1267
1427
  def weight
1268
1428
  read_property(:weight)
@@ -33,8 +33,8 @@ module SchemaOrg
33
33
  varies_by: {
34
34
  schema_name: "variesBy",
35
35
  schema_url: "https://schema.org/variesBy",
36
- comment_lines: ["Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. \"color\"; terms defined elsewhere can be referenced with their URIs."].freeze,
37
- ranges: ["DefinedTerm", "Text"].freeze,
36
+ comment_lines: ["Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. \"color\"; terms defined elsewhere can be referenced with their URIs. Variant properties can be provided using [[PropertyValue]] instead of plain [[Text]], to allow specification of the values available for a variant property."].freeze,
37
+ ranges: ["DefinedTerm", "PropertyValue", "Text"].freeze,
38
38
  external_ranges: [].freeze,
39
39
  inverse_of: nil,
40
40
  superseded_by: nil,
@@ -65,12 +65,12 @@ module SchemaOrg
65
65
  write_property(:product_group_id, value)
66
66
  end
67
67
 
68
- # Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. "color"; terms defined elsewhere can be referenced with their URIs.
68
+ # Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. "color"; terms defined elsewhere can be referenced with their URIs. Variant properties can be provided using [[PropertyValue]] instead of plain [[Text]], to allow specification of the values available for a variant property.
69
69
  def varies_by
70
70
  read_property(:varies_by)
71
71
  end
72
72
 
73
- # Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. "color"; terms defined elsewhere can be referenced with their URIs.
73
+ # Indicates the property or properties by which the variants in a [[ProductGroup]] vary, e.g. their size, color etc. Schema.org properties can be referenced by their short name e.g. "color"; terms defined elsewhere can be referenced with their URIs. Variant properties can be provided using [[PropertyValue]] instead of plain [[Text]], to allow specification of the values available for a variant property.
74
74
  def varies_by=(value)
75
75
  write_property(:varies_by, value)
76
76
  end
@@ -28,7 +28,7 @@ module SchemaOrg
28
28
  external_ranges: [].freeze,
29
29
  inverse_of: "memberOf",
30
30
  superseded_by: nil,
31
- supersedes: "musicGroupMember"
31
+ supersedes: ["members", "musicGroupMember"].freeze
32
32
  }.freeze,
33
33
  members: {
34
34
  schema_name: "members",
@@ -94,6 +94,7 @@ module SchemaOrg
94
94
  end
95
95
 
96
96
  # A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.
97
+ # Supersedes `members`.
97
98
  # Supersedes `musicGroupMember`.
98
99
  # Inverse-property: `memberOf`.
99
100
  def member
@@ -101,6 +102,7 @@ module SchemaOrg
101
102
  end
102
103
 
103
104
  # A member of an Organization or a ProgramMembership. Organizations can be members of organizations; ProgramMembership is typically for individuals.
105
+ # Supersedes `members`.
104
106
  # Supersedes `musicGroupMember`.
105
107
  # Inverse-property: `memberOf`.
106
108
  def member=(value)
@@ -18,7 +18,7 @@ module SchemaOrg
18
18
  external_ranges: [].freeze,
19
19
  inverse_of: nil,
20
20
  superseded_by: nil,
21
- supersedes: "language"
21
+ supersedes: ["language"].freeze
22
22
  }.freeze,
23
23
  phonetic_text: {
24
24
  schema_name: "phoneticText",