Class: FactDb::Models::EntityAlias
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- FactDb::Models::EntityAlias
- Defined in:
- lib/fact_db/models/entity_alias.rb
Overview
Represents an alternative name for an entity
Aliases allow entities to be found by various name forms (nicknames, abbreviations, email handles, etc.). Validation prevents invalid aliases like pronouns or generic terms.
Constant Summary collapse
- KINDS =
Returns valid alias kinds.
%w[name nickname email handle abbreviation title].freeze
Class Method Summary collapse
-
.find_entity_by_alias(text) ⇒ Entity?
Finds an entity by alias text (case-insensitive).
Instance Method Summary collapse
-
#by_kind(k) ⇒ ActiveRecord::Relation
Returns aliases of a specific kind.
-
#high_confidence ⇒ ActiveRecord::Relation
Returns aliases with confidence >= 0.9.
Class Method Details
.find_entity_by_alias(text) ⇒ Entity?
Finds an entity by alias text (case-insensitive)
43 44 45 |
# File 'lib/fact_db/models/entity_alias.rb', line 43 def self.find_entity_by_alias(text) find_by(["LOWER(name) = ?", text.downcase])&.entity end |
Instance Method Details
#by_kind(k) ⇒ ActiveRecord::Relation
Returns aliases of a specific kind
32 |
# File 'lib/fact_db/models/entity_alias.rb', line 32 scope :by_kind, ->(k) { where(kind: k) } |
#high_confidence ⇒ ActiveRecord::Relation
Returns aliases with confidence >= 0.9
37 |
# File 'lib/fact_db/models/entity_alias.rb', line 37 scope :high_confidence, -> { where("confidence >= ?", 0.9) } |