AggregateRating builder
Creates an AggregateRating with aggregate count metadata. The AggregateRating builder injects @type, validates synchronously, and
rejects unknown properties.
Import
Section titled “Import”// Astro — shown first when Astro is selectedimport { AggregateRating } from '@unschema-graph/astro';
// Svelte 5import { AggregateRating } from '@unschema-graph/svelte';
// Core / Node.jsimport { AggregateRating } from '@unschema-graph/core';import { AggregateRatingSchema } from '@unschema-graph/core';The AggregateRatingSchema Zod schema is also exported for composition and advanced validation.
TypeScript types
Section titled “TypeScript types”import { AggregateRatingSchema, type SchemaInput, type SchemaOutput,} from '@unschema-graph/core';
type AggregateRatingInput = SchemaInput<typeof AggregateRatingSchema>;type AggregateRatingOutput = SchemaOutput<typeof AggregateRatingSchema, 'AggregateRating'>;Input properties
Section titled “Input properties”| Property | Input type | Required | Default / constraints |
|---|---|---|---|
@id |
string | No | — |
ratingValue |
number | string | Yes | — |
bestRating |
number | string | No | default: 5 |
worstRating |
number | string | No | default: 1 |
ratingCount |
number | No | integer; minimum: 0; maximum: 9007199254740991 |
reviewCount |
number | No | integer; minimum: 0; maximum: 9007199254740991 |
The aliases above remain the exact authority for nested object types. The builder also accepts a
validation configuration as its second argument and always returns @type: 'AggregateRating'.
Minimal example
Section titled “Minimal example”import { AggregateRating } from '@unschema-graph/core';
const entity = AggregateRating({ "ratingValue": 4.8, "ratingCount": 125});Output
Section titled “Output”{ "@type": "AggregateRating", "ratingValue": 4.8, "bestRating": 5, "worstRating": 1, "ratingCount": 125}Relationships and recipes
Section titled “Relationships and recipes”- Related builders:
Product,Offer,AggregateOffer,Service - Used by: E-commerce
- External sources: Schema.org AggregateRating
Common errors
Section titled “Common errors”- Passing an unknown property to the strict builder.
- Using source data that is missing a required property.
- Assuming valid Schema.org guarantees a search appearance.
Validation
Section titled “Validation”Use AggregateRating.safeParse(input) for external data. If Schema.org supports a property that
is not modeled yet, validate the entity first and then use withAdditionalProperties(). Never
pass invented properties to the strict builder.