Package-level declarations

Types

Link copied to clipboard

Always project policy - useful for testing or when all propositions should be projected.

Link copied to clipboard
class DefaultProjectionPolicy(val confidenceThreshold: Double = 0.85, requireFullResolution: Boolean = true) : ProjectionPolicy

Default projection policy requiring high confidence and fully resolved entities.

Link copied to clipboard
data class EntityPairWithPropositions(val sourceId: String, val sourceName: String, val targetId: String, val targetName: String, val relationshipType: String, val propositions: List<Proposition>, val existingDescription: String?)

Input for batch relationship description synthesis.

Link copied to clipboard
class GraphProjectionService(graphProjector: GraphProjector, persister: GraphRelationshipPersister, schema: <Error class: unknown class>, recordStore: ProjectionRecordStore? = null, reconciler: Reconciler = AlwaysCreateReconciler)

Bundles a GraphProjector, GraphRelationshipPersister, and DataDictionary together so you can project propositions to graph relationships and persist them in one call.

Link copied to clipboard

Turns propositions into knowledge graph relationships, using the schema to validate relationship types and entity compatibility.

Link copied to clipboard

Persists ProjectedRelationship instances to a graph store.

Link copied to clipboard
class LenientProjectionPolicy(val confidenceThreshold: Double = 0.7) : ProjectionPolicy

Lenient projection policy that allows partial resolution. Requires at least subject and object mentions to be resolved.

Link copied to clipboard
data class LlmGraphProjector(ai: <Error class: unknown class>, relations: Relations = Relations.empty(), policy: ProjectionPolicy = DefaultProjectionPolicy(), llmOptions: <Error class: unknown class> = LlmOptions(), authorityResolver: AuthorityResolver = StructuralAuthorityResolver()) : GraphProjector

LLM-based graph projector. Uses an LLM to classify propositions into relationship types from both the DataDictionary schema and Relations predicates.

Link copied to clipboard
data class LlmRelationshipDescriptionSynthesizer(llmOptions: <Error class: unknown class>, ai: <Error class: unknown class>) : RelationshipDescriptionSynthesizer

LLM-based implementation of RelationshipDescriptionSynthesizer.

class NamedEntityDataRepositoryGraphRelationshipPersister constructor(repository: <Error class: unknown class>, authorityResolver: AuthorityResolver = StructuralAuthorityResolver()) : GraphRelationshipPersister

Persists projected graph relationships via NamedEntityDataRepository.

Link copied to clipboard
data class ProjectedRelationship(val sourceId: String, val targetId: String, val type: String, val confidence: Double, val decay: Double = 0.0, val description: String? = null, val sourcePropositionIds: List<String>, val authority: AuthorityTier? = null) : RelationshipInstance, Projection

A graph relationship produced by projecting one or more propositions.

Link copied to clipboard

Determines whether a proposition should be projected to the graph. Projection creates relationships in the knowledge graph.

Link copied to clipboard
class RelationBasedGraphProjector constructor(relations: Relations = Relations.empty(), policy: ProjectionPolicy = DefaultProjectionPolicy(), caseSensitive: Boolean = false, authorityResolver: AuthorityResolver = StructuralAuthorityResolver()) : GraphProjector

Graph projector that uses predicates from both the DataDictionary schema and Relations to determine relationship types.

Link copied to clipboard

Synthesizes a concise human-readable description for a relationship edge from the set of propositions that mention both entities.

Link copied to clipboard
data class RelationshipPersistenceResult(val persistedCount: Int, val failedCount: Int, val errors: List<String> = emptyList(), val persistedRelationshipRefs: Set<String> = emptySet(), val failedRelationshipRefs: Set<String> = emptySet())

Result of persisting projected relationships.

Link copied to clipboard
data class SynthesisRequest(val sourceEntityId: String, val sourceEntityName: String, val targetEntityId: String, val targetEntityName: String, val relationshipType: String, val propositions: List<Proposition>, val existingDescription: String? = null)

Input for relationship description synthesis.

Link copied to clipboard
data class SynthesisResult(val description: String, val confidence: Double, val sourcePropositionIds: List<String>)

Result of relationship description synthesis.