
    {h.                        S r  " S S5      r\S:X  an  \" 5       r\R	                  SSS5        \R	                  SSS5        \R	                  S	S
S5        \" S\R                  5       5        \" S\R                  SS95        gg)z)
Knowledge Graph - Store and query facts
c                   0    \ rS rSrS rS rSS jrS rSrg)	KnowledgeGraph   c                      / U l         0 U l        g )Nfactsrelationshipsselfs    E/home/james-whalen/eden-agi-project/core/knowledge/knowledge_graph.py__init__KnowledgeGraph.__init__   s    
    c                     XUS.nU R                   R                  U5        XR                  ;  a  / U R                  U'   U R                  U   R                  X#45        g)zAdd a fact to knowledge base)subject	predicateobjectT)r   appendr   )r
   r   r   r   facts        r   add_factKnowledgeGraph.add_fact
   sY    "fM

$,,,*,Dw'7#**I+>?r   Nc                     / nU R                    H8  nU(       a  US   U:w  a  M  U(       a  US   U:w  a  M'  UR                  U5        M:     U$ )zQuery knowledge baser   r   )r   r   )r
   r   r   resultsr   s        r   queryKnowledgeGraph.query   sK    JJD4	?g5T+.);NN4   r   c                 X    [        U R                  5      [        U R                  5      S.$ )N)r   entities)lenr   r   r	   s    r   	get_statsKnowledgeGraph.get_stats    s     TZZc$:L:L6MNNr   r   )NN)	__name__
__module____qualname____firstlineno__r   r   r   r   __static_attributes__ r   r   r   r      s     		Or   r   __main__EdenisAGIcanz	use toolsPhase1statuscompletezKnowledge Graph Stats:zFacts about Eden:)r   N)__doc__r   r    kgr   printr   r   r%   r   r   <module>r1      s   O O< z		BKKe$KK{+KK(J/	
"BLLN3	
rxxx78 r   