
    Pi!f                    N   d Z ddlmZ ddlmZmZmZmZmZm	Z	m
Z
 ddlmZmZ ddlmZmZmZ ddlmZ ddlmZmZ ddlmZmZ dd	lmZ dd
lmZmZ ddlm Z m!Z! ddl"m#Z# ddl$m%Z%m&Z&m'Z'm(Z( erddl)m*Z*m+Z+ ddlm,Z,m-Z-m.Z. g dZ/e#Z0e#j1        e#j2        e#j3        e#j4        e#j5        dZ6e#j        e#j2        e#j1        e#j5        e#j4        e#j7        e#j8        gZ9e9e#j:        e#j;        gz   Z< e(d           e(d           e(d          gZ=e9e#j;        gz   e=z   Z>e#j2        e#j7        e#j1        gZ?e9e#j:        gz   e=z   Z@e9e#j:        e#j;        gz   e=z   ZAe#j2        e#j4        e#j7        gZBdZCeCdfZDeCdfZE G d de(          ZF G d d          ZG G d dejH                  ZId(d$ZJ G d% d&e!          ZKd'S ))z
An RDF/XML parser for RDFLib
    )annotations)TYPE_CHECKINGAnyDictListNoReturnOptionalTuple)	urldefragurljoin)handlermake_parser	xmlreader)ErrorHandler)escape	quoteattr)ErrorParserError)Graph)RDF	is_ncname)InputSourceParser)RDFVOC)BNode
IdentifierLiteralURIRef)AttributesImplLocator)_ObjectType_SubjectType_TripleType)create_parserBagIDElementHandlerRDFXMLHandlerRDFXMLParser)aboutIDtyperesource	parseTypez4http://www.w3.org/1999/02/22-rdf-syntax-ns#aboutEachz:http://www.w3.org/1999/02/22-rdf-syntax-ns#aboutEachPrefixz0http://www.w3.org/1999/02/22-rdf-syntax-ns#bagID$http://www.w3.org/XML/1998/namespacebaselangc                  *     e Zd ZdgZ fdZd Z xZS )r%   lic                f    t          t          |                               |           d| _        d S Nr   )superr   __init__r2   )selfval	__class__s     q/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/rdflib/plugins/parsers/rdfxml.pyr6   zBagID.__init__Z   s,    fd$$S)))    c                L    | xj         dz  c_         t          d| j         z           S N   z_%s)r2   RDFNSr7   s    r:   next_lizBagID.next_li_   s"    1UTW_%%r;   )__name__
__module____qualname__	__slots__r6   rA   __classcell__)r9   s   @r:   r%   r%   W   sN        I    
& & & & & & &r;   r%   c                  "    e Zd Zg dZd Zd ZdS )r&   )startcharendr2   idr/   subject	predicateobjectlistlanguagedatatypedeclareddatac                    d | _         d | _        d | _        d| _        d | _        d | _        d | _        d | _        d | _        d | _	        d | _
        d | _        d | _        d S r4   )rH   rI   rJ   r2   rK   r/   rL   rN   rO   rP   rQ   rR   rS   r@   s    r:   r6   zElementHandler.__init__w   sa    
						r;   c                L    | xj         dz  c_         t          d| j         z           S r=   )r2   r   r@   s    r:   rA   zElementHandler.next_li   s"    1edgo&&r;   N)rB   rC   rD   rE   r6   rA    r;   r:   r&   r&   e   sC          I"  ' ' ' ' 'r;   r&   c                  0   e Zd Zd9dZd:dZd;d	Zd:d
Zd<dZd=dZd>dZ	d?dZ
d@dZd:dZd:dZdAdZdBd"ZdCd$Z ee          ZdCd%Z ee          ZdCd&Z ee          ZdDd)ZdEd+ZdFd-ZdFd.ZdGd/ZdFd0ZdHd2ZdGd3ZdGd4ZdFd5Z dHd6Z!dGd7Z"d8S )Ir'   storer   c                J    || _         d| _        |                                  d S )NF)rX   preserve_bnode_idsreset)r7   rX   s     r:   r6   zRDFXMLHandler.__init__   s"    
"'

r;   returnNonec                    t                      }| j        |_        d |_        d |g| _        i | _        i | _        i g| _        | j        d         | _        d S )Nc                    d S NrV   )nameqnames     r:   <lambda>z%RDFXMLHandler.reset.<locals>.<lambda>   s    4 r;   )	r&   document_element_startrH   rJ   stackidsbnode_ns_contexts_current_context)r7   document_elements     r:   r[   zRDFXMLHandler.reset   sj    )++!%!<776

 $&,.
=
 ;?:KB:Or;   locatorr    c                    || _         d S r`   )rl   )r7   rl   s     r:   setDocumentLocatorz RDFXMLHandler.setDocumentLocator   s    r;   c                    d S r`   rV   r@   s    r:   startDocumentzRDFXMLHandler.startDocument       r;   prefixOptional[str]	namespacestrc                    | j                             | j                                                   || j        |<   | j                            ||pdd           d S )N F)override)ri   appendrj   copyrX   bind)r7   rr   rt   s      r:   startPrefixMappingz RDFXMLHandler.startPrefixMapping   sY      !6!;!;!=!=>>>+1i(
	R%@@@@@r;   c                :    | j         d         | _        | j         d= d S Nrd   )ri   rj   )r7   rr   s     r:   endPrefixMappingzRDFXMLHandler.endPrefixMapping   s#     $ 1" 5b!!!r;   ra   Tuple[Optional[str], str]attrsr   c                   | j         }|                    t                                 | j        }| j        }|                    t          d           }|vt          |          \  }}|r|j        rt          |j        |          }n| j
                                        p| j
                                        }	|	rt          |	|          }nQ|r|j        }|F| j
                                        p| j
                                        }	|	rt          |	          \  }}||_        |                    t          d           }
|
	|r|j        }
|
|_        |                    |||           d S r`   )rf   ry   r&   currentparentgetBASEr   r/   r   rl   getPublicIdgetSystemIdLANGrP   rH   )r7   ra   rb   r   rf   r   r   r/   fragsystemIdrP   s              r:   startElementNSzRDFXMLHandler.startElementNS   sa    
^%%&&&,yyt$$"4JD$ 3&+ 3v{D11<3355S9Q9Q9S9S 3"8T22D #{|<3355S9Q9Q9S9S 5!*8!4!4JD$99T4(( +!?#dE5)))))r;   c                n    | j                             ||           | j                                         d S r`   )r   rJ   rf   popr7   ra   rb   s      r:   endElementNSzRDFXMLHandler.endElementNS   s2    u%%%
r;   contentc                <    | j         j        }|r ||           d S d S r`   )r   rI   )r7   r   rI   s      r:   
characterszRDFXMLHandler.characters   s/    |  	DMMMMM	 	r;   c                    d S r`   rV   )r7   r   s     r:   ignorableWhitespacez!RDFXMLHandler.ignorableWhitespace   rq   r;   c                    d S r`   rV   )r7   targetrS   s      r:   processingInstructionz#RDFXMLHandler.processingInstruction   rq   r;   sidr   spor#   c                ^   |\  }}}| j                             |t          j        t          j        f           | j                             |t          j        |f           | j                             |t          j        |f           | j                             |t          j        |f           d S r`   )rX   addr   r+   	StatementrL   rM   rN   )r7   r   r   spos         r:   add_reifiedzRDFXMLHandler.add_reified   s    1a
SXs}5666
S[!,---
S]A.///
SZ+,,,,,r;   messager   c                    | j         }|                                d|                                d|                                d}t	          ||z             )N:z: )rl   r   getLineNumbergetColumnNumberr   )r7   r   rl   infos       r:   errorzRDFXMLHandler.error   sc    ,!!!!!!######%%%%

 $.)))r;   Optional[ElementHandler]c                    | j         d         S )Nrf   r@   s    r:   get_currentzRDFXMLHandler.get_current       z"~r;   c                    | j         d         S r~   r   r@   s    r:   get_nextzRDFXMLHandler.get_next   r   r;   c                    | j         d         S )Nr   r@   s    r:   
get_parentzRDFXMLHandler.get_parent   r   r;   urir   c                    t          | j        j        |d          }|r|d         dk    r|d         dk    rd|z  }t          |          S )Nr>   )allow_fragmentsrd   #z%s#)r   r   r/   r   )r7   r   results      r:   
absolutizezRDFXMLHandler.absolutize  sR    *CCCC 	$3r7c>>fRjC&7&7V^Ff~~r;    Tuple[URIRef, Dict[URIRef, str]]c                   |d         t          |d                   }n"t          d                    |                    }i }|                                D ]\  }}|d         	|d         }nd                    |          }|                    t                    s |dd                                         dk    rf|t          v r||t          |         <   ||t          |          <   ||fS )Nr   r>   rw      xml)r   joinitems
startswithXMLNSlowerUNQUALIFIEDr?   )r7   ra   rb   r   attsnvatts           r:   convertzRDFXMLHandler.convert  s     7?$q'??DD "''$--((DKKMM 	& 	&DAqt|dggajj~~e$$ &AaC(8(8E(A(A## $%U3Z  $%VC[[!!Tzr;   Tuple[str, str]c                    |d         rZt          d                    |                    t          j        k    r*t	          | d          }| j        |_        | j        |_        d S |                     |||           d S )Nr   rw   next)	r   r   r   r   getattrnode_element_startrH   node_element_endrJ   )r7   ra   rb   r   r   s        r:   re   z$RDFXMLHandler.document_element_start)  ss     7 	8vbggdmm,,
::4((D0DJ,DHHH##D%77777r;   c                   |                      |||          \  }}| j        }| j        }t          | d          }| j        |_        | j        |_        |t          v r| 	                    d|z             t          j        |v rt          j        |v st          j        |v r| 	                    d           |t          j                 }t          |          s| 	                    d|z              |d|z            }	|	| j        v r| 	                    d|	z             d| j        |	<   n*t          j        |v rt          j        |v st          j        |v r| 	                    d           |t          j                 }
t          |
          s| 	                    d|
z             | j        d	u r0|
| j        v r| j        |
         }	nt%                      }	|	| j        |
<   nyt%          |
          }	nit          j        |v rMt          j        |v st          j        |v r| 	                    d            ||t          j                           }	nt%                      }	|t          j        k    r0| j                            |	t,          j         ||          f           |j        }|D ]S}|                    t5          t6                              sT ||          }	 t9          ||         |          }n# t:          $ r$}| 	                    |j                   Y d }~nd }~ww xY w|t,          j        k    r(t,          j        } ||t,          j                           }n|t>          v r|t@          v r| 	                    d
|z              ||          }	 t9          ||         |          }n1# t:          $ r$}| 	                    |j                   Y d }~nd }~ww xY w| j                            |	||f           U|	|_!        d S )Nr   zInvalid node element URI: %sz9Can have at most one of rdf:ID, rdf:about, and rdf:nodeIDz&rdf:ID value is not a valid NCName: %s#%sz)two elements cannot use the same ID: '%s'r>   *rdf:nodeID value is not a valid NCName: %sF"Invalid property attribute URI: %s)"r   r   r   r   property_element_startrH   property_element_endrJ   NODE_ELEMENT_EXCEPTIONSr   r   r*   r)   nodeIDr   rg   rZ   rh   r   DescriptionrX   r   r   r+   rP   r   ru   r?   r   r   msgNODE_ELEMENT_ATTRIBUTESPROPERTY_ATTRIBUTE_EXCEPTIONSrL   )r7   ra   rb   r   r   r   r   r   rK   rL   r   rP   r   rM   rN   es                   r:   r   z RDFXMLHandler.node_element_start7  s    \\$u55
d,_
 tV$$0
,***JJ5<===9|t##v}'<'<

VWWWfiBR== J

CbHIII j,,G$(""

FPQQQ !DHW]d""yD  FLD$8$8

VWWW&-(FV$$ R

G&PQQQ&%//TZ''"j0GG#ggG)0DJv&&--\T!!yD  FMT$9$9

VWWW jfl!344GGggG6%%%JNNGSXzz$/?/?@AAA # 	9 	9C>>#e**-- &&JsOO	&$T#Y99FF & & &JJqu%%%%%%%%& H	#DN33///555

?#EFFF&JsOO	&$T#Y99FF & & &JJqu%%%%%%%%& JNNGY78888!s0   K%%
L/LLN
O'OOc                    | j         j        rA| j        | j        d         k    r+|                     dd                    |          z             | j        j        | j         _        d S )N   z1Repeat node-elements inside property elements: %srw   )r   rN   r   rf   r   r   rL   r   s      r:   r   zRDFXMLHandler.node_element_end  sb     ; 	$,$*Q-"?"?JJCbggdmmS   "\1r;   c                	   |                      |||          \  }}| j        }| j        }t          | d          }d }d |_        d |_        |                    t          t                              s ||          |_	        n\|t          j        k    r|                                |_	        n2|t          v r|                     d|z             n ||          |_	        |                    t          j        d           }	|	;t#          |	          s|                     d|	z              |d|	z            |_        nd |_        |                    t          j        d           }
|                    t          j        d           }|                    t          j        d           }|
||                     d           |
% ||
          }| j        |_        | j        |_        n|t#          |          s|                     d|z             | j        du r2|| j        v r| j        |         }n,t9                      }|| j        |<   |}nt9          |          x}}| j        |_        | j        |_        nA||D ]:}|t          j        k    r(|t          j        k    r|                     d|z             ;|d	k    r:t9                      x|_        }| j        |_        | j         |_        | j!        |_        n|d
k    r3d |_        tD          j#        x}|_        | j        |_        | j$        |_        nYtK          dt          j&                  }| j'        |_        tP          di|_)        | j*        |_        | j'        |_        | j+        |_        ||_,        d S d }| j        |_        | j        |_        | j        |_        |                    t          j-        d           x}|_-        |j.        }| ||          }n|D ]}|                    t          t                              s ||          }n7|t^          v r?|t`          v r|                     d|z             n ||          }|tD          j1        k    rte          ||                   }n|d }tK          ||         ||          }|t9                      }| j3        4                    |||f           |d|_        d |_,        d S d |_        ||_,        d S )Nr   z Invalid property element URI: %sz&rdf:ID value is not a value NCName: %sr   z=Property element cannot have both rdf:nodeID and rdf:resourcer   Fz#Property attr '%s' now allowed hereResource
Collectionrw   )rQ   r   r   )5r   r   r   r   rS   rO   r   ru   r?   rM   r   r2   rA   PROPERTY_ELEMENT_EXCEPTIONSr   r   r*   r   rK   r,   r   r-   r   rH   r   rJ   rZ   rh   r   rL   property_element_charrI   r   r   r   nillist_node_element_endr   
XMLLiteralliteral_element_charr   rR   literal_element_startliteral_element_endrN   rQ   rP   PROPERTY_ELEMENT_ATTRIBUTESr   r+   r   rX   r   )r7   ra   rb   r   r   r   r   r   rN   rK   r,   r   
parse_typerL   r   rQ   rP   rM   r   s                      r:   r   z$RDFXMLHandler.property_element_start  s    \\$u55
d,_
 tV$$(, s5zz** 
	1 *
4 0 0GVY ' 1 1G000JJ9D@AAAA !+
4 0 0GXXfi&&>R== J

CbHIII#EBJ//GJJGJ88FOT22&-..XXf.55
F$6JJVWWWZ))F0DJ,DHHV$$ R

G&PQQQ&%//TZ''!Z/FF#ggG)0DJv&$FF#(==00DJ,DHH% P PCf...3&)3C3C

#H3#NOOO++/4ww6GOf#'#=GL!%!<DJ#8DHH<//#'GL,/G3FW\!%!8DJ#9DHH
 %R&2CDDDF#'#<GL(-u~G$!%!;DJ $ 9DI#7DH!'#9!4
0&*hhv&E&EE7##!z(++HH 7 7~~c%jj11 0 *
3II777999JJG#MNNNN *
3I#(??tCy))AA+#'S	8X>>A>"WWF
	156666>GL!GNNNGL#GNNNr;   rS   c                F    | j         }|j        |xj        |z  c_        d S d S r`   )r   rS   )r7   rS   r   s      r:   r   z#RDFXMLHandler.property_element_char  s-    ,<#LLD LLLL $#r;   c                N   | j         }|j        >|j        7|j        }|j        d }t          |j        ||j                  |_        d |_        | j        j        | j        k    rK|j        t          j
        k    r6| j                            |j        t          j        t          j
        f           |j        j| j                            | j        j        |j        |j        f           |j        2|                     |j        | j        j        |j        |j        f           d |_        d S r`   )r   rS   rN   rP   rQ   r   r   rJ   r   r   r   rX   r   rO   restr   rL   rM   rK   r   )r7   ra   rb   r   literalLangs        r:   r   z"RDFXMLHandler.property_element_end  s   ,<#(>!*K+"$W\;@PQQGNGL9=D666~((
ch@AAA>%JNNDK/1BGNSTTTz%  J!4g6G X   r;   c                
   | j         }| j        j        t          j        k    rjt                      }|| j        _        | j                            | j        j        t          j        |j	        f           || j        _
        d | j        _        d S t                      }| j                            | j        j        t          j        |f           | j                            |t          j        |j	        f           || j        _        d S r`   )r   r   rO   r   r   r   rX   r   firstrL   rN   rI   r   )r7   ra   rb   r   rO   s        r:   r   z#RDFXMLHandler.list_node_element_end+  s    ,;sw&&77D  $DKJNNDK,ciIJJJ!%DK#DK77D JNNDK,ch=>>>JNND#)W_=>>>#DKr;   c           	     n   | j         }| j        | j        _        | j        | j        _        | j        | j        _        | j        j	        
                                |_	        |d         r| j        |d                  }|rd|d|d         |_        nd|d         z  |_        |d         |j	        vrI||j	        |d         <   |r|xj        d|d|d         dz  c_        n*|xj        d	|d         z  z  c_        nd|d         z  |_        |                                D ]\  }}|d         rP|d         |j	        vr!| j        |d                  |j	        |d         <   |j	        |d                  dz   |d         z   }n|d         }|xj        d
|dt          |          z  c_        |xj        dz  c_        d S )Nr   <r   r>   z<%sz xmlns:z=""z xmlns="%s" =>)r   r   r   rH   r   rI   r   rJ   r   rR   rz   rj   rN   r   r   )r7   ra   rb   r   r   rr   values          r:   r   z#RDFXMLHandler.literal_element_start=  s    ,4	2	0	;/44667 	-*473F 1 1-3VVT!WW!=!&a7g...,2 a) >NNN&&&$q'''&JJNNNNNmd1g&==NN"T!W_GN ;;== 	B 	BKD%Aw Aw'"222040Ed1g0NG$T!W-'Q036a@ AwNNN$$$	%0@0@0@AANNN#r;   c                J    | j         xj        t          |          z  c_        d S r`   )r   rN   r   )r7   rS   s     r:   r   z"RDFXMLHandler.literal_element_char_  s$    vd||+r;   c                    |d         r1| j         |d                  }|rd|d|d         d}nd|d         z  }nd|d         z  }| j        xj        | j        j        |z   z  c_        d S )Nr   z</r   r>   r   z</%s>)rj   r   rN   r   )r7   ra   rb   rr   rJ   s        r:   r   z!RDFXMLHandler.literal_element_endb  s    7 	$*473F ( ($*FFDGGG4Q'DG#Cdl1C77r;   N)rX   r   )r\   r]   )rl   r    )rr   rs   rt   ru   r\   r]   )rr   rs   r\   r]   )ra   r   r   r   r\   r]   )ra   r   r\   r]   )r   ru   r\   r]   )r   r   r   r#   )r   ru   r\   r   )r\   r   )r   ru   r\   r   )ra   r   r   r   r\   r   )ra   r   r   r   r\   r]   )ra   r   r\   r]   )rS   ru   r\   r]   )#rB   rC   rD   r6   r[   rn   rp   r|   r   r   r   r   r   r   r   r   r   propertyr   r   r   r   r   r   r   re   r   r   r   r   r   r   r   r   r   rV   r;   r:   r'   r'      s          
P P P P"      A A A A
" " " "* * * *B      
      - - - -* * * *   
 h{##G   
 8HD   
 Xj!!F      8	8 	8 	8 	8Q" Q" Q" Q"f	2 	2 	2 	2|$ |$ |$ |$|! ! ! !
   &$ $ $ $$       D, , , ,	8 	8 	8 	8 	8 	8r;   r'   r   r   rX   r   r\   xmlreader.XMLReaderc                f   t                      }	 |                    dd           n# t          $ r Y nw xY w|                    t          j        d           t          |          }|                    |            |                    |           |	                    t                                 |S )Nr   r.   r>   )r   start_namespace_declAttributeError
setFeaturer   feature_namespacesr'   rn   setContentHandlersetErrorHandlerr   )r   rX   parserrdfxmls       r:   r$   r$   n  s    ]]F 	##E+QRRRR   
g0!4445!!F
f%%%
V$$$
<>>***Ms   ' 
44c                       e Zd ZdZd ZddZdS )r(   zAn RDF/XML parser.c                    d S r`   rV   r@   s    r:   r6   zRDFXMLParser.__init__  rq   r;   sourcer   sinkr   argsr   r\   r]   c                    t          ||          | _        | j                                        }|                    dd           }|||_        | j                            |           d S )NrZ   )r$   _parsergetContentHandlerr   rZ   parse)r7   r  r  r	  content_handlerrZ   s         r:   r  zRDFXMLParser.parse  sg    $VT22,88::!XX&:DAA)1CO. 	6"""""r;   N)r  r   r  r   r	  r   r\   r]   )rB   rC   rD   __doc__r6   r  rV   r;   r:   r(   r(     s=          
# 
# 
# 
# 
# 
#r;   r(   N)r   r   rX   r   r\   r   )Lr  
__future__r   typingr   r   r   r   r   r	   r
   urllib.parser   r   xml.saxr   r   r   xml.sax.handlerr   xml.sax.saxutilsr   r   rdflib.exceptionsr   r   rdflib.graphr   rdflib.namespacer   r   rdflib.parserr   r   rdflib.plugins.parsers.RDFVOCr   rdflib.termr   r   r   r   xml.sax.xmlreaderr   r    r!   r"   r#   __all__r?   r)   r*   r+   r,   r-   r   r   rQ   CORE_SYNTAX_TERMSr   r2   SYNTAX_TERMS	OLD_TERMSr   r   r   r   r   r   r   r   r%   r&   ContentHandlerr'   r$   r(   rV   r;   r:   <module>r"     s    # " " " " " L L L L L L L L L L L L L L L L L L + + + + + + + + 3 3 3 3 3 3 3 3 3 3 ( ( ( ( ( ( . . . . . . . . 0 0 0 0 0 0 0 0       + + + + + + + + - - - - - - - - 0 0 0 0 0 0 : : : : : : : : : : : : D99999999CCCCCCCCCC
W
W
W
 \
)K!  J
I
L

O
M
O  !F$6	#BB FABB
FGHH
F=>>	 	 	  "9fmV\B   	  +VY77)C   &y&/6=I .vv& & & & &F & & &#' #' #' #' #' #' #' #'L`8 `8 `8 `8 `8G* `8 `8 `8F   $# # # # #6 # # # # #r;   