Predicates/Identity/Classification

has type

Classifies the subject under a formal taxonomy or defined-term object. Use when the object is a structured classification term (e.g., a schema.org type or enshrined defined-term), not a free-form label.

enshrined Identity/Classification hasType

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 type",
  "description": "Classifies the subject under a formal taxonomy or defined-term object. Use when the object is a structured classification term (e.g., a schema.org type or enshrined defined-term), not a free-form label"
}
atom id 0x1d4e46c04e161b1af260c29c3d69daac67baa4fb7933e50a699b2e07cfcb09da

Semantics

Market patternattributive — describes the subject

Examples

Uniswaphas typeDecentralized Exchange
Ethereumhas typeBlockchain

Use it

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

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

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