has tag
Assigns a free-form keyword or tag atom to the subject. Use for lightweight clustering, filtering, and discovery — tags are informal, many-per-subject, and carry no taxonomy guarantees (prefer `has type` or `has category` for structured classification).
enshrined
Identity/Classification
hasTag
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.
{
"@context": "https://schema.org/",
"@type": "DefinedTerm",
"name": "has tag",
"description": "Assigns a free-form keyword or tag atom to the subject. Use for lightweight clustering, filtering, and discovery — tags are informal, many-per-subject, and carry no taxonomy guarantees (prefer `has type` or `has category` for structured classification)"
}
atom id
0x0d72b37c75f5f640679c8e4743831d587b5db984edd1c6408bd3d7aa2b5b55b3
Semantics
Market patternattributive — describes the subject
Examples
ETHGlobal—has tag→hackathon
Rust—has tag→systems-programming
Recommended for
Classifications whose metadata vocabulary includes hasTag:
Use it
// tree-shakeable: only this predicate ships in your bundle
import { hasTagId } from "@0xintuition/predicates/hasTag";
// or resolve everything from the aggregate registry
import { PREDICATE_IDS } from "@0xintuition/predicates";
PREDICATE_IDS.hasTag; // 0x0d72b37c75f5f640679c8e4743831d587b5db984edd1c6408bd3d7aa2b5b55b3
import { buildTripleByName } from "@0xintuition/primitives/triple";
const { value: triple } = buildTripleByName(
subjectId,
"hasTag",
objectId,
);
// triple.predicateId === 0x0d72b37c… — resolved from the registry