Relation

data class Relation constructor(val predicate: String, val meaning: String, val knowledgeType: KnowledgeType, val subjectType: String? = null, val objectType: String? = null, val evidenceFloor: EvidenceFloor? = null)

Defines a relationship type that can exist between entities. Used to provide the LLM with vocabulary for expressing relationships in propositions.

Parameters

predicate

The verb phrase expressing the relationship, e.g., "likes", "works at"

meaning

A description of what the relationship means, e.g., "expresses positive preference for"

knowledgeType

The epistemological nature of this relationship

subjectType

Optional constraint on the subject entity type, e.g., "Person". When set from a Kotlin class via withSubject it is the class simpleName; a mention's type must match this (tolerant of case) for an edge to project.

objectType

Optional constraint on the object entity type, e.g., "Company". When set from a Kotlin class via withObject it is the class simpleName; a mention's type must match this (tolerant of case) for an edge to project.

evidenceFloor

Optional minimum evidence required before this relation may be asserted at full strength. Left null, the relation has no floor and behaves as before. When set, a gate such as EvidenceFloorGate reads it to demote or hold under-supported assertions — so a structural signal can't masquerade as a strong claim.

Constructors

Link copied to clipboard
constructor(predicate: String, meaning: String, knowledgeType: KnowledgeType, subjectType: String? = null, objectType: String? = null, evidenceFloor: EvidenceFloor? = null)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val objectType: String? = null
Link copied to clipboard
Link copied to clipboard
val subjectType: String? = null

Functions

Link copied to clipboard

Declare the minimum evidence required before this relation may be asserted at full strength.

Link copied to clipboard
fun withObject(type: Class<*>): Relation
Link copied to clipboard
fun withSubject(type: Class<*>): Relation