This is a Technical Note of the W3C AI Knowledge Representation Community Group (AIKR CG). It is not a W3C Standard and does not represent consensus of W3C Membership. It is published to inform discussion at the W3C/GS1 E-commerce for Humans and AI Agents workshop and to invite contributions in the group repository.

Related work: this Note complements the group's Inventory of Efforts Related to the Agent-to-Web Framework (A2WF), prepared in response to the A2WF Community Group (the siteai.json agent-permissions initiative). Where that inventory maps efforts at the framework level — protocols, vocabularies and trust mechanisms across the agentic-web landscape — this Note drills into the e-commerce vocabulary layer beneath them.

Introduction and scope

As large language models and AI agents become intermediaries between content and the people who consume it, the publisher's question shifts from "how are my products found by search engines?" to "how are my products discovered, interpreted, and acted upon by AI agents?" At the data layer this is a knowledge-representation question: it depends on which vocabulary a catalogue is expressed in and whether the agent's protocol consumes it.

This Note (a) inventories the existing open vocabulary stack for e-commerce, with provenance and cross-namespace mappings; and (b) analyses what that stack lacks for autonomous, transacting agents, proposing that the gaps be filled by extension and crosswalk rather than by protocol-private forks. It is intended as reference material and as the evidence base for an interoperability-layer proposal aligned with the group's Agent Interoperability work.

How the layers compose

A single JSON-LD @context typically mixes namespaces: schema: for the core commerce model, gs1: for richer product and supply-chain detail, and unece: (UN/CEFACT) for units and measures. GoodRelations supplies the conceptual e-commerce core that was folded into schema.org in November 2012 [[GR-SCHEMA-2012]]; its original namespace remains authoritative in full RDF/OWL/SPARQL environments.

{ "@context": {
    "@vocab": "https://schema.org/",
    "gs1":    "https://ref.gs1.org/voc/",
    "unece":  "https://vocabulary.uncefact.org/",
    "gr":     "http://purl.org/goodrelations/v1#"
} }

Layer 0 — JSON-LD (serialization / linking syntax)

Not a vocabulary but the W3C syntax that carries the vocabularies and links them [[JSON-LD11]].

KeywordRole
@contextMaps short terms to IRIs; declares which vocabularies are in use
@vocabDefault vocabulary for unprefixed terms (usually schema.org)
@idGlobal identifier (IRI) for a node — the basis of Linked Data
@typeDeclares the class of a node (e.g. Product, Offer)
@graphA set of nodes — used for product lists / multi-entity payloads
@value, @languageLiteral value and its language tag
@container, @list, @setOrdering / collection semantics

Layer 1 — schema.org commerce core

Since the November 2012 integration, GoodRelations is the e-commerce core of schema.org [[GR-SCHEMA-2012]] [[SCHEMA-PRODUCT]]. The GR origin column shows the originating GoodRelations class or property where applicable.

1a. Types / classes

schema.org typeRoleGR origin
ProductA product (good/service offered for sale)gr:ProductOrService
ProductModelA datasheet/model (vs. an instance)gr:ProductOrServiceModel
IndividualProductA single identifiable instancegr:Individual
SomeProductsAn anonymous quantity of itemsgr:SomeItems
ProductGroup / ProductCollectionVariant groupings / collections— (later additions)
OfferAn offer to transfer rights / provide a servicegr:Offering
AggregateOfferA set of offers (price range, count)
DemandA wanted/sought offer (buy-side)gr:Offering (seek)
PriceSpecificationA price structuregr:PriceSpecification
UnitPriceSpecificationPrice per unit of measuregr:UnitPriceSpecification
DeliveryChargeSpecificationShipping/delivery costgr:DeliveryChargeSpecification
PaymentChargeSpecificationSurcharge per payment methodgr:PaymentChargeSpecification
TypeAndQuantityNode"N units of product X" within a bundlegr:TypeAndQuantityNode
QuantitativeValueA measured value with unitgr:QuantitativeValue
WarrantyPromiseWarranty terms attached to an offergr:WarrantyPromise
BusinessFunction (enum)Sell, Lease, Repair, Dispose…gr:BusinessFunction
DeliveryMethod (enum)Mail, freight, own fleet, pickup…gr:DeliveryMethod
PaymentMethod (enum)Cash, card, bank transfer…gr:PaymentMethod
OfferItemCondition (enum)New / Used / Refurbished / Damagedgr:Condition
OrganizationThe selling business entitygr:BusinessEntity
BrandA brand associated with a product/offergr:Brand
OpeningHoursSpecificationStore opening hoursgr:OpeningHoursSpecification
MerchantReturnPolicyReturn/refund terms— (later addition)
Review, AggregateRatingRatings and reviews

1b. Key properties

schema.org propertyRoleGR origin
offersLinks a Product to its Offer(s)gr:offers
sellerThe Organization making the offergr:offers (inverse)
priceThe price valuegr:hasCurrencyValue
priceCurrencyISO 4217 currency codegr:hasCurrency
priceSpecificationLinks to a PriceSpecificationgr:hasPriceSpecification
businessFunctionSell / lease / repair…gr:hasBusinessFunction
itemConditionNew / used / refurbishedgr:condition
availabilityInStock / OutOfStock / PreOrder…gr:hasInventoryLevel (related)
eligibleQuantityOrder quantity boundsgr:hasEligibleQuantity
eligibleRegionGeographic eligibilitygr:eligibleRegions
acceptedPaymentMethodAccepted payment methodsgr:acceptedPaymentMethods
validFrom, validThroughOffer validity windowgr:validFrom, gr:validThrough
gtin, gtin8/12/13/14GS1 trade item numbersgr:hasEAN_UCC-13 / gr:hasGTIN-14
mpn, skuManufacturer part / stock-keeping numbersgr:hasMPN / gr:hasStockKeepingUnit
brandBrandgr:hasBrand
hasGS1DigitalLinkLink to a GS1 Digital Link URI— (GS1 bridge)

Layer 2 — GoodRelations (original namespace)

Authored by Martin Hepp [[GOODRELATIONS]]; an independent OWL vocabulary that remains primary in RDF/RDFa/OWL/SPARQL contexts, with mapping axioms to schema.org. At integration the overlap was small (only 5 of schema.org's 315 classes coincided with 27 GoodRelations classes), so most GR classes were new additions rather than duplicates. Use this mapping when consuming Linked Data published in the original http://purl.org/goodrelations/v1# namespace.

GoodRelations termschema.org equivalentNotes
gr:BusinessEntityOrganizationThe legal entity offering goods/services
gr:OfferingOfferCore "offer to sell/lease/repair…" node
gr:ProductOrServiceProduct / ServiceGeneric offered item
gr:ProductOrServiceModelProductModelA make/model datasheet
gr:Individual / gr:SomeItemsIndividualProduct / SomeProductsInstance vs. anonymous batch
gr:PriceSpecificationPriceSpecificationPrice structure
gr:UnitPriceSpecificationUnitPriceSpecificationPrice per unit
gr:TypeAndQuantityNodeTypeAndQuantityNodeQuantity of a product in a bundle
gr:BusinessFunctionBusinessFunctionSell/Lease/Repair/Dispose enumeration
gr:hasBusinessFunctionbusinessFunctionRenamed on integration
gr:hasPriceSpecificationpriceSpecificationRenamed on integration
gr:hasCurrency / gr:hasCurrencyValuepriceCurrency / priceSplit into two schema.org properties

Layer 3 — GS1 Web Vocabulary

The first large-scale external extension to schema.org [[GS1-WEBVOC]]: it extends schema.org under Linked Data principles with explicit mappings, adding supply-chain and consumer-facing master data (initial focus: apparel, footwear, food/beverage/tobacco). Properties derive from existing GS1 standards (GDSN, GS1 Source, GPC); Offer is a GS1-specific addition. The complete normative list is the JSON-LD ontology at https://ref.gs1.org/voc/data/gs1Voc.jsonld; terms are ratified via the GS1 Global Standards Management Process and maintained at github.com/gs1/WebVoc.

3a. Verified terms (illustrative)

GS1 termKindRole
gs1:ProductclassTrade item (extends schema:Product)
gs1:OfferclassProduct offered by a party for a price (GS1-specific)
gs1:OrganizationclassParty / business entity
gs1:ClothingclassApparel trade item (specialised product class)
gs1:OrganicClaimDetailsclassStructured organic-certification claim
gs1:gtinpropertyGlobal Trade Item Number
gs1:brandpropertyBrand of the trade item
gs1:netContentpropertyNet quantity/content with unit
gs1:packagingTypepropertyPackaging type code
gs1:consumerProductVariantpropertyLinks variant trade items

3b. GS1 Digital Link and resolver link types — the hypermedia/affordance layer

GS1 Digital Link expresses GS1 keys (GTIN, batch/lot, serial…) as a resolvable Web URI [[GS1-DIGITAL-LINK]]; the resolver returns typed links to related resources. The link-type idea is rooted in Web Linking / HATEOAS / REST: it is a resource-pointer layer, not (yet) a machine-actionable API-contract layer — a distinction central to the gap analysis. Several link types are already agent-relevant (marked ●).

GroupLink types
Product infopip, instructions, quickStartGuide, whatsInTheBox, ingredientsInfo, nutritionalInfo, allergenInfo, faqs, tutorial, smartLabel, relatedImage, relatedVideo
Trust / verification ●jws (JSON Web Signature), verificationService, certificationInfo, recallStatus, safetyInfo, masterData
Traceability ●traceability, epcis, dpp (Digital Product Passport), sustainabilityInfo
Transaction / commerce ●paymentLink, loyaltyProgram, subscribe, promotion, scheduleTime (reservation), registerProduct (warranty), purchaseSuppliesOrAccessories, hasRetailers
Org / locationhomepage, locationInfo, logisticsInfo, openingHoursInfo, support, registryEntry, socialMedia
Reviews / engagementreview, leaveReview, userAgreement, reportFound

Related layer — UN/CEFACT vocabulary

Supplies units of measure and trade/measurement types that complement schema.org and GS1 in product markup (e.g. unece:MeasureType, unece:MeasureTypeCode) [[UNCEFACT-VOC]]. Frequently co-used in the same JSON-LD @context for precise units.

Provenance summary

VocabularyMaintainerNamespaceStatus in the stack
JSON-LDW3C(syntax)Serialization / linking layer
schema.orgGoogle, Microsoft/Bing, Yahoo, Yandexhttps://schema.org/Core web commerce vocabulary
GoodRelationsMartin Hepphttp://purl.org/goodrelations/v1#E-commerce core of schema.org since Nov 2012; independent in RDF/OWL
GS1 Web VocabularyGS1https://ref.gs1.org/voc/External extension of schema.org; supply-chain + consumer detail
UN/CEFACTUNECEhttps://vocabulary.uncefact.org/Units / measures / trade terms

Agentic extensions — gap analysis

Every vocabulary above was built to describe products for two readers: a human browsing a page, and a search engine building an index. Autonomous agents that discover, verify, negotiate, transact and act under delegated authority are a third consumer the stack was not designed for. They need three things the descriptive stack underprovides:

  1. Affordances, not just descriptions — machine-actionable operations with typed parameters, not links to human-readable pages. GS1's resolver link types (paymentLink, registerProduct, scheduleTime, …) point to where actions happen but do not describe the contract of those actions.
  2. Verifiability — signed, fresh, attestable facts so an agent does not act on a hallucinated or stale price. GS1 already ships two primitives (jws, verificationService); they are not yet bound into the Offer model as a signed-offer pattern.
  3. Governable authority + attribution — who may act, within what limits, and how content creators are credited when an agent uses or routes value through their content. This is the open-Web question expressed at the vocabulary layer.

Principle: extend and crosswalk, don't fork. Most needs below can be met by binding existing W3C primitives to schema.org/GS1 rather than inventing protocol-private schemas — which is what keeps the Web open across MCP, UCP and ACP [[AGENT-PROTO-SURVEY]] [[ACP]] [[UCP]].

#Agent use caseWhat the stack has todayMissing entities / vocabularyCandidate standard to extend with
1Discover what I can do here (checkout, returns, subscribe)GS1 link types point to pages/APIs; schema:potentialAction is thinMachine-actionable affordance/operation descriptions with typed inputs, endpoints, preconditionsschema.org Actions (EntryPoint, *Action); W3C Hydra; W3C Web of Things Thing Description
2Prove who I am and on whose behalfNothing for agent identity/delegationAgent identity + mandate/authority (scope, spend limit, purpose, expiry)W3C DIDs; W3C Verifiable Credentials; open mandate vocabulary (cf. AP2 consent proofs)
3Trust the data is authentic and currentjws, verificationService link types; priceValidUntilSigned/attested Offer pattern; enforceable freshnessW3C PROV-O; VC-wrapped offers; C2PA / Content Credentials for media
4Negotiate / get a quote / apply loyaltygr:Demand; loyaltyProgram linkNegotiation vocabulary: RFQ, counter-offer, conditional & disclosed personalised pricingNew extension over GoodRelations Offer/Demand
5Drive a transaction deterministicallyschema:Order, OrderStatus (thin)Session/transaction state machine, idempotency keys, typed error semanticsExtend schema.org Order; align with ACP/UCP checkout state models
6Respect consent, privacy & usage policyNone wired to commerceMachine-readable policy/consent: what the agent may share/do; rights on the dataW3C ODRL; W3C Data Privacy Vocabulary (DPV)
7Keep the open-Web incentive: credit creatorsNoneAttribution / value-flow vocabulary for agent-mediated use and salesNew extension; relate to TDM Reservation Protocol + ODRL
8Compare & substitute productsisAccessoryOrSparePartFor, isSimilarTo, isVariantOf (thin)Agent-grade equivalence / substitutability / compatibility semantics + shared classificationGS1 GPC, eCl@ss, UNSPSC, Google Product Taxonomy as alignment targets
9Read sustainability & regulatory attributesdpp, sustainabilityInfo, OrganicClaimDetails, certificationInfoFull Digital Product Passport data model bound to the offerGS1 DPP work + EU Digital Product Passport alignment
10Assess and be assessed for trust (reputation)review, AggregateRating (about products)Agent/merchant reputation & attestation — trust signals about the actorsVC-based reputation; extend Review/Rating to agent actors

Conclusion

Rows 1–3 and 7 of the gap table are where proprietary protocols are currently filling the vacuum each in their own way — ACP's feed and checkout API, UCP's capability profiles, AP2's consent proofs. If affordance, authority and attribution semantics are standardised as open extensions to the shared vocabulary, content stays publishable once and remains legible to every agent ecosystem; if they are not, each protocol forks its own and the publisher is back to an N×N integration burden. A vocabulary-neutral interoperability layer — the direction this group proposes — could provide the crosswalk that helps prevent such a fork and keep the Web open.

Verification status of terms

schema.org and GoodRelations terms and the GoodRelations→schema.org mappings are drawn from the published vocabularies and the 2012 integration record. GS1 classes, properties and the complete link-type set are verified against the live GS1 Web Vocabulary; food/allergen/nutrition property names should be confirmed against the JSON-LD ontology dataset before normative use. Candidate standards named in the gap table are existing W3C or industry specifications cited as extension targets, not as current bindings.