
    hx                     v    d dl mZmZmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZ  eddd       G d d	e             Zy
)    )DictTupleUnion)
deprecated)
Comparator
Comparison	OperationOperatorStructuredQueryVisitorz0.3.8z1.0z8langchain_neo4j.query_constructors.neo4j.Neo4jTranslator)sinceremovalalternative_importc                      e Zd ZdZej
                  ej                  gZ	 ej                  ej                  ej                  ej                  ej                  ej                  gZdeeef   defdZdedefdZdedefdZd	edeeef   fd
Zy)Neo4jTranslatorzDTranslate `Neo4j` internal query language elements to valid filters.funcreturnc                 2   | j                  |       t        j                  dt        j                  dt        j
                  dt        j                  dt        j                  dt        j                  dt        j                  dt        j                  di}||   S )	Nz$andz$orz$eqz$nez$gtez$ltez$ltz$gt)_validate_funcr
   ANDORr   EQNEGTELTELTGT)selfr   map_dicts      j/var/www/html/eduruby.in/venv/lib/python3.12/site-packages/langchain_community/query_constructors/neo4j.py_format_funczNeo4jTranslator._format_func"   sk    D!LL&KKMM5MM5NNFNNFMM5MM5	
 ~    	operationc                     |j                   D cg c]  }|j                  |        }}| j                  |j                        |iS c c}w N)	argumentsacceptr!   operator)r   r#   argargss       r    visit_operationzNeo4jTranslator.visit_operation0   sF    ,5,?,?@S

4 @@!!)"4"45t<< As   A
comparisonc                 h    |j                   | j                  |j                        |j                  iiS r%   )	attributer!   
comparatorvalue)r   r,   s     r    visit_comparisonz Neo4jTranslator.visit_comparison4   s6      !!*"7"78*:J:J#
 	
r"   structured_queryc                 v    |j                   i }nd|j                   j                  |       i}|j                  |fS )Nfilter)r4   r'   query)r   r2   kwargss      r    visit_structured_queryz&Neo4jTranslator.visit_structured_query;   sB     ""*F 0 7 7 > >t DEF%%v--r"   N)__name__
__module____qualname____doc__r
   r   r   allowed_operatorsr   r   r   r   r   r   r   allowed_comparatorsr   strr!   r	   r   r+   r   r1   r   r   dictr7    r"   r    r   r      s     O!x{{3. 	x';!<  = =t =
: 
$ 
. /.	sDy	.r"   r   N)typingr   r   r   langchain_core._api.deprecationr   langchain_core.structured_queryr   r   r	   r
   r   r   r   r@   r"   r    <module>rD      sA    % % 6  
Q
/.g /.
/.r"   