Classifications/Product

Aggregate Rating

A stable aggregate rating summary for a reviewed thing.

Product schema.org/AggregateRating aggregate-rating

Fields

2 required · 2 recommended. Every field points at its schema.org property — the definition lives in one place, so nothing drifts. The full inherited superset stays available through @0xintuition/schema-org.

FieldTypeDescription
ratingValue number required The aggregate average rating. schema.org/ratingValue
reviewCount integer required The number of reviews represented by the aggregate. schema.org/reviewCount
bestRating number optional The upper bound of the rating scale when needed. schema.org/bestRating
worstRating number optional The lower bound of the rating scale when needed. schema.org/worstRating

The canonical shape

What a Aggregate Rating atom's data looks like. These exact bytes are what calculateAtomId hashes — shared shape is shared identity.

atom data · canonical JSON-LD
{
  "@context": "https://schema.org/",
  "@type": "AggregateRating",
  "ratingValue": 1,
  "reviewCount": 1,
  "bestRating": 1,
  "worstRating": 1
}
build one
import { buildAtomData } from "@0xintuition/classifications";
import { calculateAtomId } from "@0xintuition/ids";

const atomData = buildAtomData("aggregate-rating", {
	ratingValue: "4.7",
	reviewCount: "1320",
	bestRating: "5",
});

// deterministic — same bytes, same ID, offchain and on
const atomId = calculateAtomId(atomData);

What a Aggregate Rating can say

The recommended triple vocabulary for this classification — each row is a claim shape the graph already understands, with the kind of atom expected on the other end.

Aggregate Rating — item reviewed → any atom proposed
Aggregate Rating — authored by → Person proposed

Enrichment

Paste a bare reference and the enrichment engine fills a Aggregate Rating in from its sources (default pipeline: aggregate-rating) — titles, canonical sameAs URLs, and the fields above, merged onto the same deterministic atom.