Class: FactDb::Transformers::TripleTransformer

Inherits:
Base
  • Object
show all
Defined in:
lib/fact_db/transformers/triple_transformer.rb

Overview

Transforms results into Subject-Predicate-Object triples. This format encodes semantic structure that LLMs can leverage.

Examples:

Output format

[
  ["Paula Chen", "type", "Person"],
  ["Paula Chen", "works_at", "Microsoft"],
  ["Paula Chen", "works_at.valid_from", "2024-01-10"]
]

Instance Method Summary collapse

Instance Method Details

#transform(results) ⇒ Array<Array>

Transform results to triples format.

Parameters:

Returns:

  • (Array<Array>)

    Array of [subject, predicate, object] triples



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/fact_db/transformers/triple_transformer.rb', line 19

def transform(results)
  triples = []

  # Transform entities
  results.each_entity do |entity|
    triples += entity_to_triples(entity)
  end

  # Transform facts
  results.each_fact do |fact|
    triples += fact_to_triples(fact, results.entities)
  end

  triples
end