Class: SuperInstance::Equipment::SwarmCoordinator::KnowledgeGraph

Inherits:
Object
  • Object
show all
Defined in:
lib/equipment/swarm_coordinator/asymmetric_knowledge.rb

Overview

Internal knowledge graph for tracking relationships

Instance Method Summary collapse

Constructor Details

#initializeKnowledgeGraph

Returns a new instance of KnowledgeGraph.



90
91
92
93
# File 'lib/equipment/swarm_coordinator/asymmetric_knowledge.rb', line 90

def initialize
  @nodes = {}
  @edges = {}
end

Instance Method Details

#add_edge(from, to) ⇒ Object



100
101
102
# File 'lib/equipment/swarm_coordinator/asymmetric_knowledge.rb', line 100

def add_edge(from, to)
  @edges[from]&.add(to)
end

#add_node(key, entry) ⇒ Object



95
96
97
98
# File 'lib/equipment/swarm_coordinator/asymmetric_knowledge.rb', line 95

def add_node(key, entry)
  @nodes[key] = entry
  @edges[key] ||= Set.new
end


104
105
106
# File 'lib/equipment/swarm_coordinator/asymmetric_knowledge.rb', line 104

def get_related(key)
  @edges[key]&.to_a || []
end