Class: SuperInstance::Equipment::SwarmCoordinator::KnowledgeGraph
- Inherits:
-
Object
- Object
- SuperInstance::Equipment::SwarmCoordinator::KnowledgeGraph
- Defined in:
- lib/equipment/swarm_coordinator/asymmetric_knowledge.rb
Overview
Internal knowledge graph for tracking relationships
Instance Method Summary collapse
- #add_edge(from, to) ⇒ Object
- #add_node(key, entry) ⇒ Object
- #get_related(key) ⇒ Object
-
#initialize ⇒ KnowledgeGraph
constructor
A new instance of KnowledgeGraph.
Constructor Details
#initialize ⇒ KnowledgeGraph
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 |
#get_related(key) ⇒ Object
104 105 106 |
# File 'lib/equipment/swarm_coordinator/asymmetric_knowledge.rb', line 104 def (key) @edges[key]&.to_a || [] end |