§
    kÃ¿a¤  ã                   ó"  — d dl Z d dlmZmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZmZmZmZ d dlmZmZmZmZ d	Zd
ez  Z e j        e¦  «        Z	  G d„ de¦  «        Z G d„ de¦  «        Zd„ Z G d„ de¦  «        Z G d„ d¦  «        ZdS )é    N)ÚIOÚOptional)ÚXMLGenerator)ÚXML_NAMESPACE)ÚAttributesNSImpl)Úetree)ÚLiteralÚURIRefÚBNodeÚVariable)ÚResultÚResultParserÚResultSerializerÚResultExceptionz&http://www.w3.org/2005/sparql-results#z{%s}c                   ó(   — e Zd Zddee         fd„ZdS )ÚXMLResultParserNÚcontent_typec                 ó    — t          |¦  «        S ©N)Ú	XMLResult)ÚselfÚsourcer   s      úJ/usr/lib/python3/dist-packages/rdflib/plugins/sparql/results/xmlresults.pyÚparsezXMLResultParser.parse!   s   € Ý˜Ñ Ô Ð ó    r   )Ú__name__Ú
__module__Ú__qualname__r   Ústrr   © r   r   r   r      s8   € € € € € ð!ð !¨(°3¬-ð !ð !ð !ð !ð !ð !r   r   c                   ó(   — e Zd Zddee         fd„ZdS )r   Nr   c           	      ó"  — 	 t          j        d¬¦  «        }t          j        ||¦  «        }n$# t          $ r t          j        |¦  «        }Y nw xY w|                     t
          dz   ¦  «        }|                     t
          dz   ¦  «        }|�d}n|�d}nt          d¦  «        ‚t          j        | |¦  «         |dk    rœg | _	        |D ][}i }	|D ]:}
t          |
d         ¦  «        |	t          |
                     d	¦  «        ¦  «        <   Œ;| j	                             |	¦  «         Œ\d
„ |                     dt
          ›dt
          ›d�¦  «        D ¦   «         | _        d S |j                             ¦   «                              ¦   «         dk    | _        d S )NT)Ú	huge_treeÚbooleanÚresultsÚASKÚSELECTz/No RDF result-bindings or boolean answer found!r   Únamec                 óR   — g | ]$}t          |                     d ¦  «        ¦  «        ‘Œ%S )r(   )r   Úget)Ú.0Úxs     r   ú
<listcomp>z&XMLResult.__init__.<locals>.<listcomp>C   s:   € ð ð ð àõ ˜Ÿš˜v™œÑ'Ô'ðð ð r   z./zhead/ÚvariableÚtrue)r   Ú	XMLParserr   Ú	TypeErrorÚfindÚRESULTS_NS_ETr   r   Ú__init__ÚbindingsÚ	parseTermr   r*   ÚappendÚfindallÚvarsÚtextÚlowerÚstripÚ	askAnswer)r   r   r   ÚparserÚtreer$   r%   Útype_ÚresultÚrÚbindings              r   r4   zXMLResult.__init__&   s°  € ð	'å”_¨tÐ4Ñ4Ô4ˆFÝ”;˜v vÑ.Ô.ˆDˆDøÝð 	'ð 	'ð 	'Ý”;˜vÑ&Ô&ˆDˆDˆDð	'øøøð —)’)�M¨IÑ5Ñ6Ô6ˆØ—)’)�M¨IÑ5Ñ6Ô6ˆàÐØˆEˆEØÐ ØˆEˆEå!Ð"SÑTÔTÐTåŒ˜˜eÑ$Ô$Ð$à�HÒÐØˆDŒMØ!ð (ð (�Ø�Ø%ð Mð M�GÝ7@ÀÈÄÑ7LÔ7L�A•h˜wŸ{š{¨6Ñ2Ô2Ñ3Ô3Ñ4Ð4Ø”×$Ò$ QÑ'Ô'Ð'Ð'ðð àŸš˜Ý-:¨]¨]½M¸M¸MÐJñô ðñ ô ˆDŒIˆIˆIð %œ\×/Ò/Ñ1Ô1×7Ò7Ñ9Ô9¸VÒCˆDŒNˆNˆNs   ‚*- ­AÁAr   )r   r   r   r   r   r4   r    r   r   r   r   %   s@   € € € € € ð%Dð %D¨X°c¬]ð %Dð %Dð %Dð %Dð %Dð %Dr   r   c                 óò  — | j         | j        }}|t          dz   k    r�|€d}d}d}|                      dd¦  «        r#t	          |                      d¦  «        ¦  «        }n;|                      dt
          z  d¦  «        r|                      dt
          z  ¦  «        }t          |||¬¦  «        }|S |t          dz   k    rt	          |¦  «        S |t          dz   k    rt          |¦  «        S t          d	| z  ¦  «        ‚)
zLrdflib object (Literal, URIRef, BNode) for the given
    elementtree elementÚliteralNÚ Údatatypez{%s}lang)rG   ÚlangÚuriÚbnodezunknown binding type %r)	Útagr:   r3   r*   r
   r   r	   r   r1   )ÚelementrK   r:   rG   rH   Úrets         r   r6   r6   N   sü   € ð ”˜Wœ\ˆ€CØ
�m˜iÑ'Ò'Ð'Øˆ<ØˆDØˆØˆØ�;Š;�z 4Ñ(Ô(ð 	;Ý˜gŸkšk¨*Ñ5Ô5Ñ6Ô6ˆHˆHØ�[Š[˜¥mÑ3°TÑ:Ô:ð 	;Ø—;’;˜z­MÑ9Ñ:Ô:ˆDå�d X°DÐ9Ñ9Ô9ˆàˆ
Ø	• Ñ%Ò	%Ð	%Ý�d‰|Œ|ÐØ	• Ñ'Ò	'Ð	'Ý�T‰{Œ{ÐåÐ1°GÑ;Ñ<Ô<Ð<r   c                   ó&   — e Zd Zd„ Zddedefd„ZdS )ÚXMLResultSerializerc                 ó0   — t          j        | |¦  «         d S r   )r   r4   )r   rA   s     r   r4   zXMLResultSerializer.__init__h   s   € ÝÔ! $¨Ñ/Ô/Ð/Ð/Ð/r   úutf-8ÚstreamÚencodingc                 ó  — t          ||¦  «        }| j        j        dk    r5|                     g ¦  «         |                     | j        j        ¦  «         nš|                     | j        j        ¦  «         |                     ¦   «          | j        j        D ]Z}| 	                    ¦   «          | 
                    ¦   «         D ]\  }}|                     ||¦  «         Œ|                     ¦   «          Œ[|                     ¦   «          d S )Nr&   )ÚSPARQLXMLWriterrA   ÚtypeÚwrite_headerÚ	write_askr=   r9   Úwrite_results_headerr5   Úwrite_start_resultÚitemsÚwrite_bindingÚwrite_end_resultÚclose)r   rR   rS   ÚkwargsÚwriterÚbÚkeyÚvals           r   Ú	serializezXMLResultSerializer.serializek   sü   € å  ¨Ñ2Ô2ˆØŒ;Ô˜uÒ$Ð$Ø×Ò Ñ#Ô#Ð#Ø×Ò˜Tœ[Ô2Ñ3Ô3Ð3Ð3à×Ò ¤Ô 0Ñ1Ô1Ð1Ø×'Ò'Ñ)Ô)Ð)Ø”[Ô)ð *ð *�Ø×)Ò)Ñ+Ô+Ð+Ø !§¢¡	¤	ð 3ð 3‘H�C˜Ø×(Ò(¨¨cÑ2Ô2Ð2Ð2à×'Ò'Ñ)Ô)Ð)Ð)à�Š‰Œˆˆˆr   N©rQ   )r   r   r   r4   r   r   rd   r    r   r   rO   rO   g   sJ   € € € € € ð0ð 0ð 0ðð  ð ¨cð ð ð ð ð ð r   rO   c                   óD   — e Zd ZdZdd„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ ZdS )rU   z1
    Python saxutils-based SPARQL XML Writer
    rQ   c                 óJ  — t          ||¦  «        }|                     ¦   «          |                     dt          ¦  «         |                     dt          ¦  «         |                     t          dfdt          i i ¦  «        ¦  «         || _        || _        || _	        d| _
        d S )NrF   ÚxmlÚsparqlF)r   ÚstartDocumentÚstartPrefixMappingÚSPARQL_XML_NAMESPACEr   ÚstartElementNSr   r`   Ú_outputÚ	_encodingÚ_results)r   ÚoutputrS   r`   s       r   r4   zSPARQLXMLWriter.__init__„   s¡   € Ý˜f hÑ/Ô/ˆØ×ÒÑÔÐØ×!Ò! "Õ&:Ñ;Ô;Ð;Ø×!Ò! %­Ñ7Ô7Ð7Ø×ÒÝ! 8Ð,¨hÕ8HÈÈRÑ8PÔ8Pñ	
ô 	
ð 	
ð ˆŒØˆŒØ!ˆŒØˆŒˆˆr   c           	      óÈ  — | j                              t          dfdt          i i ¦  «        ¦  «         t	          dt          |¦  «        ¦  «        D ]p}dt          ||         ¦  «        i}ddi}| j                              t          dfdt          ||¦  «        ¦  «         | j                              t          dfd¦  «         Œq| j                              t          dfd¦  «         d S )NÚheadr   ©Nr(   r(   r.   )r`   rm   rl   r   ÚrangeÚlenr   ÚendElementNS)r   ÚallvarsLÚiÚ	attr_valsÚattr_qnamess        r   rW   zSPARQLXMLWriter.write_header‘   s÷   € ØŒ×"Ò"Ý! 6Ð*¨FÕ4DÀRÈÑ4LÔ4Lñ	
ô 	
ð 	
õ �q�#˜h™-œ-Ñ(Ô(ð 	Uð 	UˆAà¥ H¨Q¤KÑ 0Ô 0ðˆIð  ðˆKð ŒK×&Ò&Ý% zÐ2ØÝ  ¨KÑ8Ô8ñô ð ð
 ŒK×$Ò$Õ&:¸JÐ%GÈÑTÔTÐTÐTØŒ× Ò Õ"6¸Ð!?ÀÑHÔHÐHÐHÐHr   c                 ó  — | j                              t          dfdt          i i ¦  «        ¦  «         | j                              t          |¦  «                             ¦   «         ¦  «         | j                              t          dfd¦  «         d S )Nr$   )r`   rm   rl   r   Ú
charactersr   r;   rw   )r   rc   s     r   rX   zSPARQLXMLWriter.write_ask¤   s   € ØŒ×"Ò"Ý! 9Ð-¨yÕ:JÈ2ÈrÑ:RÔ:Rñ	
ô 	
ð 	
ð 	Œ×Ò�s 3™xœxŸ~š~Ñ/Ô/Ñ0Ô0Ð0ØŒ× Ò Õ"6¸	Ð!BÀIÑNÔNÐNÐNÐNr   c                 óv   — | j                              t          dfdt          i i ¦  «        ¦  «         d| _        d S )Nr%   T)r`   rm   rl   r   rp   ©r   s    r   rY   z$SPARQLXMLWriter.write_results_header«   s@   € ØŒ×"Ò"Ý! 9Ð-¨yÕ:JÈ2ÈrÑ:RÔ:Rñ	
ô 	
ð 	
ð ˆŒˆˆr   c                 óv   — | j                              t          dfdt          i i ¦  «        ¦  «         d| _        d S )NrA   T)r`   rm   rl   r   Ú_resultStartedr   s    r   rZ   z"SPARQLXMLWriter.write_start_result±   sC   € ØŒ×"Ò"Ý! 8Ð,¨hÕ8HÈÈRÑ8PÔ8Pñ	
ô 	
ð 	
ð #ˆÔÐÐr   c                 ój   — | j         sJ ‚| j                             t          dfd¦  «         d| _         d S )NrA   F)r�   r`   rw   rl   r   s    r   r]   z SPARQLXMLWriter.write_end_result·   s=   € ØÔ"Ð"Ð"Ð"ØŒ× Ò Õ"6¸Ð!AÀ8ÑLÔLÐLØ#ˆÔÐÐr   c                 óž  — | j         sJ ‚dt          |¦  «        i}ddi}| j                             t          dfdt          ||¦  «        ¦  «         t          |t          ¦  «        ro| j                             t          dfdt          i i ¦  «        ¦  «         | j                             |¦  «         | j         	                    t          dfd¦  «         �nWt          |t          ¦  «        rn| j                             t          dfdt          i i ¦  «        ¦  «         | j                             |¦  «         | j         	                    t          dfd¦  «         nÔt          |t          ¦  «        r­i }i }|j        r|j        |t          df<   d|t          df<   n|j        r|j        |d<   d	|d<   | j                             t          d
fd
t          ||¦  «        ¦  «         | j                             |¦  «         | j         	                    t          d
fd
¦  «         nt          d|z  ¦  «        ‚| j         	                    t          dfd¦  «         d S )Nrt   r(   rC   rI   rJ   rH   zxml:lang)NrG   rG   rE   zUnsupported RDF term: %s)r�   r   r`   rm   rl   r   Ú
isinstancer
   r}   rw   r   r	   Úlanguager   rG   Ú	Exception)r   r(   rc   rz   r{   s        r   r\   zSPARQLXMLWriter.write_binding¼   sq  € ØÔ"Ð"Ð"Ð"ð �C ™IœIð
ˆ	ð ˜Fð
ˆð 	Œ×"Ò"Ý! 9Ð-ØÝ˜Y¨Ñ4Ô4ñ	
ô 	
ð 	
õ �c�6Ñ"Ô"ð 	>ØŒK×&Ò&Ý% uÐ-¨uÕ6FÀrÈ2Ñ6NÔ6Nñô ð ð ŒK×"Ò" 3Ñ'Ô'Ð'ØŒK×$Ò$Õ&:¸EÐ%BÀEÑJÔJÐJÑJÝ˜�UÑ#Ô#ð 	>ØŒK×&Ò&Ý% wÐ/°Õ:JÈ2ÈrÑ:RÔ:Rñô ð ð ŒK×"Ò" 3Ñ'Ô'Ð'ØŒK×$Ò$Õ&:¸GÐ%DÀgÑNÔNÐNÐNÝ˜�WÑ%Ô%ð 	>ØˆIØˆKØŒ|ð =Ø58´\�	�=¨&Ð1Ñ2Ø7A��]¨FÐ3Ñ4Ð4Ø”ð =Ø03´�	Ð,Ñ-Ø2<�Ð.Ñ/àŒK×&Ò&Ý% yÐ1ØÝ  ¨KÑ8Ô8ñô ð ð
 ŒK×"Ò" 3Ñ'Ô'Ð'ØŒK×$Ò$Õ&:¸IÐ%FÈ	ÑRÔRÐRÐRõ Ð6¸Ñ<Ñ=Ô=Ð=àŒ× Ò Õ"6¸	Ð!BÀIÑNÔNÐNÐNÐNr   c                 óÎ   — | j         r"| j                             t          dfd¦  «         | j                             t          dfd¦  «         | j                             ¦   «          d S )Nr%   ri   )rp   r`   rw   rl   ÚendDocumentr   s    r   r^   zSPARQLXMLWriter.closeî   sc   € ØŒ=ð 	SØŒK×$Ò$Õ&:¸IÐ%FÈ	ÑRÔRÐRØŒ× Ò Õ"6¸Ð!AÀ8ÑLÔLÐLØŒ×ÒÑ!Ô!Ð!Ð!Ð!r   Nre   )r   r   r   Ú__doc__r4   rW   rX   rY   rZ   r]   r\   r^   r    r   r   rU   rU      s¥   € € € € € ðð ðð ð ð ðIð Ið Ið&Oð Oð Oðð ð ð#ð #ð #ð$ð $ð $ð
0Oð 0Oð 0Oðd"ð "ð "ð "ð "r   rU   ) ÚloggingÚtypingr   r   Úxml.sax.saxutilsr   Úxml.domr   Úxml.sax.xmlreaderr   Úrdflib.compatr   Úrdflibr	   r
   r   r   Úrdflib.queryr   r   r   r   rl   r3   Ú	getLoggerr   Úlogr   r   r6   rO   rU   r    r   r   ú<module>r”      s´  ðØ €€€Ø Ð Ð Ð Ð Ð Ð Ð à )Ð )Ð )Ð )Ð )Ð )Ø !Ð !Ð !Ð !Ð !Ð !Ø .Ð .Ð .Ð .Ð .Ð .à Ð Ð Ð Ð Ð à 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ð 3Ø PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ Pð @Ð ØÐ-Ñ-€à€gÔ˜Ñ!Ô!€ðð!ð !ð !ð !ð !�lñ !ô !ð !ð&Dð &Dð &Dð &Dð &D�ñ &Dô &Dð &DðR=ð =ð =ð2ð ð ð ð Ð*ñ ô ð ð0s"ð s"ð s"ð s"ð s"ñ s"ô s"ð s"ð s"ð s"r   