Product
A product identity with optional brand and SKU disambiguators.
Fields
1 required · 4 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.
| Field | Type | Description | |
|---|---|---|---|
name |
string | required | The product name. schema.org/name |
brand |
string | optional | The brand name when needed. schema.org/brand |
sku |
string | optional | The SKU when needed. schema.org/sku |
gtin |
string | optional | The GTIN when available. schema.org/gtin |
sameAs |
string[] | optional | Canonical URLs for the same product. schema.org/sameAs |
The canonical shape
What a Product atom's data looks like. These exact bytes are what calculateAtomId hashes — shared shape is shared identity.
{
"@context": "https://schema.org/",
"@type": "Product",
"name": "Ledger Nano X",
"brand": "Ledger",
"sku": "NANO-X"
}
import { buildAtomData } from "@0xintuition/classifications";
import { calculateAtomId } from "@0xintuition/ids";
const atomData = buildAtomData("product", {
name: "Ledger Nano X",
brand: "Ledger",
});
// deterministic — same bytes, same ID, offchain and on
const atomId = calculateAtomId(atomData);
What a Product 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.
Enrichment
Paste a bare reference and the enrichment engine fills a Product in from its sources (default pipeline: product) — titles, canonical sameAs URLs, and the fields above, merged onto the same deterministic atom.