Predicates/Identity/Classification

has category

Places the subject in a product-level browsable category for user-facing discovery and filtering. Less formal than `has type` (which asserts a taxonomy classification) and more curated than `has tag` (which is free-form).

enshrined Identity/Classification hasCategory

Enshrined — the object model is decided and the ID below is what every conforming app and the contract resolve.

Identity

A predicate is itself an atom. Its ID is derived from these exact bytes — the same value in your app, in anyone else's, and onchain.

predicate atom data
{
  "@context": "https://schema.org/",
  "@type": "DefinedTerm",
  "name": "has category",
  "description": "Places the subject in a product-level browsable category for user-facing discovery and filtering. Less formal than `has type` (which asserts a taxonomy classification) and more curated than `has tag` (which is free-form)"
}
atom id 0x7540882b556f76cd67ce24a0ecdb16a175dc438ed63a003180cb62794568748a

Semantics

Market patternattributive — describes the subject

Examples

Uniswaphas categoryDeFi
Aavehas categoryLending

Recommended for

Classifications whose metadata vocabulary includes hasCategory:

Use it

import
// tree-shakeable: only this predicate ships in your bundle
import { hasCategoryId } from "@0xintuition/predicates/hasCategory";

// or resolve everything from the aggregate registry
import { PREDICATE_IDS } from "@0xintuition/predicates";
PREDICATE_IDS.hasCategory; // 0x7540882b556f76cd67ce24a0ecdb16a175dc438ed63a003180cb62794568748a
make a claim
import { buildTripleByName } from "@0xintuition/primitives/triple";

const { value: triple } = buildTripleByName(
	subjectId,
	"hasCategory",
	objectId,
);
// triple.predicateId === 0x7540882b… — resolved from the registry