Endpoints
The predicate registry is a controlled vocabulary for relationship and assertion types. Predicates like
works_at, located_in, and has_title define the schema for the knowledge graph. Aliases allow multiple surface forms (e.g., employed_by mapping to works_at) to be normalized to canonical predicates.
List Predicates
GET /v1/predicates
List all registered predicates, optionally including their alias mappings.
integer
default:"50"
Maximum results to return.
string
Pagination cursor from a previous response.
boolean
default:"true"
Include alias mappings in the response.
Register Predicate
POST /v1/predicates
Register a new predicate in the controlled vocabulary.
Returns 201 Created on success.
string
required
Unique predicate identifier (e.g.,
works_at, located_in). Use snake_case.string
Human-readable description of the predicate’s semantics.
Get Predicate
GET /v1/predicates/{id}
Retrieve a single predicate by its record ID, including all alias mappings.
string
required
Predicate registry record ID (e.g.,
predicate_registry:550e8400-...).Propose Alias
POST /v1/predicates/{id}/aliases
Propose a new alias mapping for a predicate. Aliases start with status proposed and must be activated separately.
Returns 201 Created on success.
string
required
Predicate registry record ID.
string
required
The alias string (e.g.,
employed_by).string
default:"raw_string"
Type of alias. One of:
raw_string, plugin_code, schema_field.number
default:"0.9"
Confidence score for the alias mapping (0.0 to 1.0).
string
default:"global"
Scope of the alias. One of:
global, plugin_only, source_type.string
Source plugin identifier if the alias was generated by a plugin.
Update Alias Status
PATCH /v1/predicates/{id}/aliases/{alias_id}
Activate or deprecate a predicate alias.
string
required
Predicate registry record ID.
string
required
Predicate alias record ID (e.g.,
predicate_alias:bbb...).string
required
New alias status. One of:
proposed, active, deprecated.