§
    kÃ¿aú*  ã                   ó–  — d dl Z d dlZd dlZd dlZd dlmZmZ d dlmZ d dl	m
Z
mZmZmZmZmZ d dlmZ d dlmZ d dlZ	 G d„ de¦  «        Z G d	„ d
e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z dS )é    N)ÚMappingÚMutableMapping)ÚNamespaceManager)ÚVariableÚBNodeÚGraphÚConjunctiveGraphÚURIRefÚLiteral)ÚNode)Ú	CompValuec                   ó   — e Zd Zdd„ZdS )ÚSPARQLErrorNc                 ó<   — t                                | |¦  «         d S ©N)Ú	ExceptionÚ__init__©ÚselfÚmsgs     ú>/usr/lib/python3/dist-packages/rdflib/plugins/sparql/sparql.pyr   zSPARQLError.__init__   s   € Ý×Ò˜4 Ñ%Ô%Ð%Ð%Ð%ó    r   ©Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r      s(   € € € € € ð&ð &ð &ð &ð &ð &r   r   c                   ó   — e Zd Zdd„ZdS )ÚNotBoundErrorNc                 ó<   — t                                | |¦  «         d S r   ©r   r   r   s     r   r   zNotBoundError.__init__   ó   € Ý×Ò˜T 3Ñ'Ô'Ð'Ð'Ð'r   r   r   r   r   r   r   r      s(   € € € € € ð(ð (ð (ð (ð (ð (r   r   c                   ó   — e Zd ZdZd„ ZdS )ÚAlreadyBoundz<Raised when trying to bind a variable that is already bound!c                 ó:   — t                                | ¦  «         d S r   r!   ©r   s    r   r   zAlreadyBound.__init__   s   € Ý×Ò˜TÑ"Ô"Ð"Ð"Ð"r   N©r   r   r   Ú__doc__r   r   r   r   r$   r$      s)   € € € € € ØFÐFð#ð #ð #ð #ð #r   r$   c                   ó   — e Zd Zd„ ZdS )ÚSPARQLTypeErrorc                 ó<   — t                                | |¦  «         d S r   r!   r   s     r   r   zSPARQLTypeError.__init__#   r"   r   Nr   r   r   r   r*   r*   "   s#   € € € € € ð(ð (ð (ð (ð (r   r*   c                   óT   — e Zd ZdZdg fd„Zd„ Zd„ Zd„ Zd„ Zde	fd	„Z
d
„ Zd„ Zd„ ZdS )ÚBindingsz×

    A single level of a stack of variable-value bindings.
    Each dict keeps a reference to the dict below it,
    any failed lookup is propegated back

    In python 3.3 this could be a collections.ChainMap
    Nc                 ó<   — t          |¦  «        | _        || _        d S r   )ÚdictÚ_dÚouter)r   r1   Úds      r   r   zBindings.__init__2   s   € Ý�q‘'”'ˆŒØˆŒ
ˆ
ˆ
r   c                 ór   — || j         v r| j         |         S | j        st          ¦   «         ‚| j        |         S r   )r0   r1   ÚKeyError©r   Úkeys     r   Ú__getitem__zBindings.__getitem__6   s9   € Ø�$”'ˆ>ˆ>Ø”7˜3”<ÐàŒzð 	Ý‘*”*ÐØŒz˜#ŒÐr   c                 ó:   — 	 | |          dS # t           $ r Y dS w xY w)NTF©r4   r5   s     r   Ú__contains__zBindings.__contains__>   s7   € ð	Ø�ŒIˆIØ�4øÝð 	ð 	ð 	Ø�5�5ð	øøøs   ‚ Œ
™c                 ó   — || j         |<   d S r   ©r0   ©r   r6   Úvalues      r   Ú__setitem__zBindings.__setitem__E   s   € ØˆŒ�‰ˆˆr   c                 ó    — t          d¦  «        ‚)NzDelItem is not implemented!)r   r5   s     r   Ú__delitem__zBindings.__delitem__H   s   € ÝÐ5Ñ6Ô6Ð6r   Úreturnc                 óR   — d}| }|� |t          |j        ¦  «        z  }|j        }|­ |S ©Nr   )Úlenr0   r1   )r   Úir2   s      r   Ú__len__zBindings.__len__K   s7   € ØˆØˆØˆmØ•�Q”T‘”‰NˆAØ”ˆAð ˆmð ˆr   c              #   óB   K  — | }|�|j         E d {V —† |j        }|­d S d S r   )r0   r1   )r   r2   s     r   Ú__iter__zBindings.__iter__S   s9   è è € ØˆØˆmØ”tˆOˆOˆOˆOˆOˆOˆOØ”ˆAð ˆmˆmˆmˆmˆmr   c                 óR   ‡ — dd                      ˆ fd„‰ D ¦   «         ¦  «        z   dz   S )Nz
Bindings({z, c              3   ó,   •K  — | ]}|‰|         fV — Œd S r   r   )Ú.0Úkr   s     €r   ú	<genexpr>z#Bindings.__str__.<locals>.<genexpr>Z   s+   øè è € Ð'CÐ'C¸¨¨D°¬G¨Ð'CÐ'CÐ'CÐ'CÐ'CÐ'Cr   z}))Újoinr&   s   `r   Ú__str__zBindings.__str__Y   s4   ø€ Ø˜dŸišiÐ'CÐ'CÐ'CÐ'C¸dÐ'CÑ'CÔ'CÑCÔCÑCÀdÑJÐJr   c                 ó    — t          | ¦  «        S r   )Ústrr&   s    r   Ú__repr__zBindings.__repr__\   s   € Ý�4‰yŒyÐr   )r   r   r   r(   r   r7   r:   r?   rA   ÚintrG   rI   rP   rS   r   r   r   r-   r-   '   sÀ   € € € € € ðð ð " Rð ð ð ð ðð ð ðð ð ðð ð ð7ð 7ð 7ð˜ð ð ð ð ðð ð ðKð Kð Kðð ð ð ð r   r-   c                   óT   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zd„ Zd„ ZdS )Ú
FrozenDictz^
    An immutable hashable dict

    Taken from http://stackoverflow.com/a/2704866/81121

    c                 ó6   — t          |i |¤Ž| _        d | _        d S r   )r/   r0   Ú_hash)r   ÚargsÚkwargss      r   r   zFrozenDict.__init__h   s!   € Ý˜Ð' Ð'Ð'ˆŒØˆŒ
ˆ
ˆ
r   c                 ó*   — t          | j        ¦  «        S r   )Úiterr0   r&   s    r   rI   zFrozenDict.__iter__l   ó   € Ý�D”G‰}Œ}Ðr   c                 ó*   — t          | j        ¦  «        S r   )rE   r0   r&   s    r   rG   zFrozenDict.__len__o   ó   € Ý�4”7‰|Œ|Ðr   c                 ó   — | j         |         S r   r<   r5   s     r   r7   zFrozenDict.__getitem__r   s   € ØŒw�sŒ|Ðr   c                 óÔ   — | j         €[d| _         |                      ¦   «         D ]?\  }}| xj         t          |¦  «        z  c_         | xj         t          |¦  «        z  c_         Œ@| j         S rD   )rX   ÚitemsÚhashr=   s      r   Ú__hash__zFrozenDict.__hash__u   sd   € ð Œ:ÐØˆDŒJØ"Ÿjšj™lœlð *ð *‘
��UØ�
”
�d 3™iœiÑ'�
”
Ø�
”
�d 5™kœkÑ)�
”
�
ØŒzÐr   c                 ó^   ‡— t          ˆfd„|                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó0   •K  — | ]}|d          ‰v ¯|V — ŒdS ©r   Nr   ©rL   ÚxÚvarss     €r   rN   z%FrozenDict.project.<locals>.<genexpr>ƒ   s+   øè è € ÐCÐC °a¸´d¸d°l°l˜1°l°l°l°lÐCÐCr   )rV   rb   ©r   rj   s    `r   ÚprojectzFrozenDict.project‚   s.   ø€ ÝÐCÐCÐCÐC d§j¢j¡l¤lÐCÑCÔCÑDÔDÐDr   c                 ób   — t          t          | ¦  «                             |¦  «        ¦  «         S r   )ÚboolÚsetÚintersection)r   Úothers     r   ÚdisjointDomainzFrozenDict.disjointDomain…   s'   € Ý�˜D™	œ	×.Ò.¨uÑ5Ô5Ñ6Ô6Ð6Ð6r   c                 ó\   — | D ](}	 | |         ||         k    r dS Œ# t           $ r Y Œ%w xY wdS )NFTr9   )r   rq   rM   s      r   Ú
compatiblezFrozenDict.compatibleˆ   s\   € Øð 	ð 	ˆAðØ˜”7˜e AœhÒ&Ð&Ø ˜5˜5ð 'øåð ð ð Ø�ðøøøð ˆts   †œ
)¨)c                 ó’   — t          t          j        |                      ¦   «         |                     ¦   «         ¦  «        ¦  «        }|S r   )rV   Ú	itertoolsÚchainrb   ©r   rq   Úress      r   ÚmergezFrozenDict.merge’   s0   € Ý�œ¨¯ª©¬°u·{²{±}´}ÑEÔEÑFÔFˆàˆ
r   c                 ó*   — t          | j        ¦  «        S r   )rR   r0   r&   s    r   rP   zFrozenDict.__str__—   r_   r   c                 ó*   — t          | j        ¦  «        S r   )Úreprr0   r&   s    r   rS   zFrozenDict.__repr__š   r]   r   N)r   r   r   r(   r   rI   rG   r7   rd   rl   rr   rt   rz   rP   rS   r   r   r   rV   rV   `   sÆ   € € € € € ðð ðð ð ðð ð ðð ð ðð ð ðð ð ðEð Eð Eð7ð 7ð 7ðð ð ðð ð ð
ð ð ðð ð ð ð r   rV   c                   óv   — e Zd Zd„ Zd„ Zd„ Zd„ Zed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
dd	„Zd
„ ZdS )ÚFrozenBindingsc                 ó>   — t          j        | g|¢R i |¤Ž || _        d S r   )rV   r   Úctx)r   r�   rY   rZ   s       r   r   zFrozenBindings.__init__Ÿ   s.   € ÝÔ˜DÐ2 4Ð2Ð2Ð2¨6Ð2Ð2Ð2ØˆŒˆˆr   c                 óÖ   — t          |t          ¦  «        st          |¦  «        }t          |t          t          f¦  «        s|S || j        vr| j        j        |         S | j        |         S r   )Ú
isinstancer   r   r   r0   r�   ÚinitBindingsr5   s     r   r7   zFrozenBindings.__getitem__£   sd   € å˜#�tÑ$Ô$ð 	 Ý˜3‘-”-ˆCå˜#¥¥xÐ0Ñ1Ô1ð 	ØˆJà�d”gÐÐØ”8Ô(¨Ô-Ð-à”7˜3”<Ðr   c                 ój   ‡— t          | j        ˆfd„|                      ¦   «         D ¦   «         ¦  «        S )Nc              3   ó0   •K  — | ]}|d          ‰v ¯|V — ŒdS rg   r   rh   s     €r   rN   z)FrozenBindings.project.<locals>.<genexpr>±   s+   øè è € Ð(QÐ(Q¨qÀAÀaÄDÈDÀLÀL¨ÀLÀLÀLÀLÐ(QÐ(Qr   ©r   r�   rb   rk   s    `r   rl   zFrozenBindings.project°   s2   ø€ Ý˜dœhÐ(QÐ(QÐ(QÐ(Q°D·J²J±L´LÐ(QÑ(QÔ(QÑRÔRÐRr   c                 óž   — t          | j        t          j        |                      ¦   «         |                     ¦   «         ¦  «        ¦  «        }|S r   )r   r�   rv   rw   rb   rx   s      r   rz   zFrozenBindings.merge³   s4   € Ý˜TœX¥y¤°t·z²z±|´|ÀUÇ[Â[Á]Ä]Ñ'SÔ'SÑTÔTˆØˆ
r   c                 ó   — | j         j        S r   )r�   Únowr&   s    r   rŠ   zFrozenBindings.now·   s   € àŒxŒ|Ðr   c                 ó   — | j         j        S r   )r�   Úbnodesr&   s    r   rŒ   zFrozenBindings.bnodes»   s   € àŒxŒÐr   c                 ó   — | j         j        S r   )r�   Úprologuer&   s    r   rŽ   zFrozenBindings.prologue¿   s   € àŒxÔ Ð r   Nc                 óz   ‡ ‡‡— ‰sg Št          ‰ j        ˆˆˆ fd„‰                      ¦   «         D ¦   «         ¦  «        S )zY
        return a frozen dict only of bindings made in self
        since before
        c              3   ót   •K  — | ]2}|d          ‰v s"|d          ‰j         j        v s‰|d                   ­.|V — Œ3dS rg   )r�   r„   )rL   ri   Ú_exceptÚbeforer   s     €€€r   rN   z(FrozenBindings.forget.<locals>.<genexpr>Î   s`   øè è € ð ð àà�a”D˜G�O�OØ˜”t˜tœxÔ4Ð4Ð4Ø˜a œd”|Ð+ð ð
 ,Ð+Ð+Ð+ðð r   r‡   )r   r’   r‘   s   ```r   ÚforgetzFrozenBindings.forgetÃ   se   øøø€ ð
 ð 	ØˆGõ ØŒHðð ð ð ð ð àŸš™œðñ ô ñ
ô 
ð 	
r   c                 ój   ‡— t          | j        ˆfd„|                      ¦   «         D ¦   «         ¦  «        S )z@
        return a frozen dict only of bindings in these
        c              3   ó0   •K  — | ]}|d          ‰v ¯|V — ŒdS rg   r   )rL   ri   Útheses     €r   rN   z*FrozenBindings.remember.<locals>.<genexpr>Ý   s+   øè è € Ð(RÐ(R¨qÀAÀaÄDÈEÀMÀM¨ÀMÀMÀMÀMÐ(RÐ(Rr   r‡   )r   r–   s    `r   ÚrememberzFrozenBindings.rememberÙ   s4   ø€ õ ˜dœhÐ(RÐ(RÐ(RÐ(R°D·J²J±L´LÐ(RÑ(RÔ(RÑSÔSÐSr   r   )r   r   r   r   r7   rl   rz   ÚpropertyrŠ   rŒ   rŽ   r“   r—   r   r   r   r   r   ž   sÌ   € € € € € ðð ð ð ð  ð  ðSð Sð Sðð ð ð ðð ñ „Xðð ðð ñ „Xðð ð!ð !ñ „Xð!ð
ð 
ð 
ð 
ð,Tð Tð Tð Tð Tr   r   c                   óš   — e Zd ZdZdd„Zedej        fd„¦   «         Zdd„Zed„ ¦   «         Z	dd	„Z
d
„ Zdd„Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚQueryContextz@
    Query context - passed along when evaluating the query
    Nc                 ó�  — || _         t          |pg ¬¦  «        | _        |r| j                             |¦  «         t	          |t
          ¦  «        r<|| _        t          j        j	        j
        r| j        | _        n | j        j        | _        nd | _        || _        d | _        d | _        t!          j        t$          ¦  «        | _        d S )N)r2   )r„   r-   ÚbindingsÚupdaterƒ   r	   Ú_datasetÚrdflibÚpluginsÚsparqlÚSPARQL_DEFAULT_GRAPH_UNIONÚdatasetÚgraphÚdefault_contextrŽ   Ú_nowÚcollectionsÚdefaultdictr   rŒ   )r   r¤   rœ   r„   s       r   r   zQueryContext.__init__å   s³   € Ø(ˆÔÝ  8 >¨rÐ2Ñ2Ô2ˆŒØð 	/ØŒM× Ò  Ñ.Ô.Ð.å�eÕ-Ñ.Ô.ð 	Ø!ˆDŒMÝŒ~Ô$Ô?ð :Ø!œ\�”
�
à!œ\Ô9�”
�
à ˆDŒMØˆDŒJàˆŒØˆŒ	å!Ô-­eÑ4Ô4ˆŒˆˆr   rB   c                 ó„   — | j         €3t          j                             t          j        j        ¦  «        | _         | j         S r   )r¦   ÚdatetimerŠ   ÚisodateÚtzinfoÚUTCr&   s    r   rŠ   zQueryContext.nowú   s/   € àŒ9ÐÝ Ô)×-Ò-­g¬nÔ.@ÑAÔAˆDŒIØŒyÐr   c                 ó°   — t          | j        �| j        n| j        |p| j        | j        ¬¦  «        }| j        |_        | j        |_        | j        |_        |S )N)r„   )rš   rž   r¤   rœ   r„   rŽ   rŒ   )r   rœ   Úrs      r   ÚclonezQueryContext.clone   sZ   € ÝØ!œ]Ð6ˆDŒMˆM¸D¼JØÐ%˜œØÔ*ð
ñ 
ô 
ˆð
 ”]ˆŒ
Ø”*ˆŒØ”;ˆŒØˆr   c                 ó<   — | j         €t          d¦  «        ‚| j         S )z "current datasetNzwYou performed a query operation requiring a dataset (i.e. ConjunctiveGraph), but operating currently on a single graph.)rž   r   r&   s    r   r£   zQueryContext.dataset  s-   € ð Œ=Ð Ýð;ñô ð ð
 Œ}Ðr   Fc                 óæ   ‡— ˆfd„}t           j        j        j        s.|r*| xj        | j                             |¦  «        z  c_        d S d S |r || j        |¦  «         d S  || j        |¦  «         d S )Nc                 ó,  •— 	  | j         |fddi‰¤ŽS # t          $ r Y nw xY w	  | j         |fddi‰¤ŽS # t          $ r Y nw xY w	  | j         |fddi‰¤ŽS # t          $ r Y nw xY w	  | j         |fddi‰¤ŽS # t          $ r t          d|z  ¦  «        ‚w xY w)NÚformatÚturtleÚxmlÚn3Úntz3Could not load %s as either RDF/XML, N3 or NTriples)Úparser   )r¤   ÚsourcerZ   s     €r   Ú_loadz QueryContext.load.<locals>._load  s(  ø€ ðØ"�u”{ 6ÐEÐE°(ÐE¸fÐEÐEÐEøÝð ð ð Ø�ðøøøðØ"�u”{ 6ÐBÐB°%ÐB¸6ÐBÐBÐBøÝð ð ð Ø�ðøøøðØ"�u”{ 6ÐAÐA°$ÐA¸&ÐAÐAÐAøÝð ð ð Ø�ðøøøðØ"�u”{ 6ÐAÐA°$ÐA¸&ÐAÐAÐAøÝð ð ð ÝØIÈFÑRñô ð ðøøøs9   ƒ “
 Ÿ ¤4 ´
AÁ AÁA Á
A"Á!A"Á&A6 Á6B)rŸ   r    r¡   ÚSPARQL_LOAD_GRAPHSr¤   r£   Úget_context)r   rº   ÚdefaultrZ   r»   s      ` r   ÚloadzQueryContext.load  s¤   ø€ ð	ð 	ð 	ð 	ð 	õ( Œ~Ô$Ô7ð 
	,ð ð ?Ø�
”
˜dœl×6Ò6°vÑ>Ô>Ñ>�
”
�
�
ð?ð ?ð ð ,Ø��d”j &Ñ)Ô)Ð)Ð)Ð)à��d”l FÑ+Ô+Ð+Ð+Ð+r   c                 ó|   — t          |t          t          f¦  «        s|S 	 | j        |         S # t          $ r Y d S w xY wr   )rƒ   r   r   rœ   r4   r5   s     r   r7   zQueryContext.__getitem__7  sR   € å˜#¥¥xÐ0Ñ1Ô1ð 	ØˆJð	Ø”= Ô%Ð%øÝð 	ð 	ð 	Ø�4�4ð	øøøs    - ­
;º;c                 ó8   — 	 | |         S # t           $ r |cY S w xY wr   r9   )r   r6   r¾   s      r   ÚgetzQueryContext.get@  s5   € ð	Ø˜”9ÐøÝð 	ð 	ð 	ØˆNˆNˆNð	øøøs   ‚
 Š˜c                 ó¼   ‡— ‰r3t          | ˆfd„| j                             ¦   «         D ¦   «         ¦  «        S t          | | j                             ¦   «         ¦  «        S )zO
        Return a static copy of the current variable bindings as dict
        c              3   ó.   •K  — | ]\  }}|‰v ¯	||fV — Œd S r   r   )rL   rM   Úvrj   s      €r   rN   z(QueryContext.solution.<locals>.<genexpr>L  s/   øè è € ÐMÐM¡$ ! QÀ1ÈÀ9À9˜˜1�vÀ9À9À9À9ÐMÐMr   )r   rœ   rb   rk   s    `r   ÚsolutionzQueryContext.solutionF  sg   ø€ ð ð 	?Ý!ØÐMÐMÐMÐM¨$¬-×*=Ò*=Ñ*?Ô*?ÐMÑMÔMñô ð õ " $¨¬×(;Ò(;Ñ(=Ô(=Ñ>Ô>Ð>r   c                 ój   — || j         v r| j         |         |k    rt          ¦   «         ‚|| j         |<   d S r   )rœ   r$   r=   s      r   r?   zQueryContext.__setitem__Q  s<   € Ø�$”-ÐÐ D¤M°#Ô$6¸%Ò$?Ð$?Ý‘.”.Ð à"ˆŒ�cÑÐÐr   c                 ó<   — |                       ¦   «         }||_        |S r   )r°   r¤   )r   r¤   r¯   s      r   Ú	pushGraphzQueryContext.pushGraphW  s   € Ø�JŠJ‰LŒLˆØˆŒØˆr   c                 óT   — |                       t          | j        ¦  «        ¦  «        }|S r   )r°   r-   rœ   )r   r¯   s     r   ÚpushzQueryContext.push\  s"   € Ø�JŠJ•x ¤Ñ.Ô.Ñ/Ô/ˆØˆr   c                 ó,   — |                       g ¦  «        S r   ©r°   r&   s    r   ÚcleanzQueryContext.clean`  s   € Ø�zŠz˜"‰~Œ~Ðr   c                 ó0   — |                       |¦  «        }|S )zO
        Create a new read/write query context from the given solution
        rÍ   )r   ÚfrozenbindingsÚcs      r   ÚthawzQueryContext.thawc  s   € ð �JŠJ�~Ñ&Ô&ˆàˆr   )NNNr   )F)r   r   r   r(   r   r˜   rª   rŠ   r°   r£   r¿   r7   rÂ   rÆ   r?   rÉ   rË   rÎ   rÒ   r   r   r   rš   rš   à   s"  € € € € € ðð ð5ð 5ð 5ð 5ð* ð�XÔ&ð ð ð ñ „Xðð
	ð 	ð 	ð 	ð ðð ñ „Xðð,ð ,ð ,ð ,ðBð ð ðð ð ð ð	?ð 	?ð 	?ð 	?ð#ð #ð #ðð ð ð
ð ð ðð ð ðð ð ð ð r   rš   c                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚProloguezI
    A class for holding prefixing bindings and base URI information
    c                 óT   — d | _         t          t          ¦   «         ¦  «        | _        d S r   )Úbaser   r   Únamespace_managerr&   s    r   r   zPrologue.__init__q  s#   € ØˆŒ	Ý!1µ%±'´'Ñ!:Ô!:ˆÔÐÐr   c                 ó”   — | j         j                             |pd¦  «        }|€t          d|z  ¦  «        ‚t	          ||pdz   ¦  «        S )NÚ zUnknown namespace prefix : %s)r×   ÚstoreÚ	namespacer   r
   )r   ÚprefixÚ	localnameÚnss       r   ÚresolvePNamezPrologue.resolvePNameu  sO   € ØÔ#Ô)×3Ò3°F°L¸bÑAÔAˆØˆ:ÝÐ;¸fÑDÑEÔEÐEÝ�b˜I˜O¨Ñ,Ñ-Ô-Ð-r   c                 ó@   — | j                              ||d¬¦  «         d S )NT)Úreplace)r×   Úbind)r   rÜ   Úuris      r   râ   zPrologue.bind{  s&   € ØÔ×#Ò# F¨C¸Ð#Ñ>Ô>Ð>Ð>Ð>r   c                 ód  — t          |t          ¦  «        rk|j        dk    r |                      |j        |j        ¦  «        S |j        dk    r4t          |j        |j        |  	                    |j
        ¦  «        ¬¦  «        S n/t          |t          ¦  «        rd|vrt          || j        ¬¦  «        S |S )z‹
        Apply BASE / PREFIXes to URIs
        (and to datatypes in Literals)

        TODO: Move resolving URIs to pre-processing
        ÚpnameÚliteral)ÚlangÚdatatypeú:)rÖ   )rƒ   r   Únamerß   rÜ   rÝ   r   Ústringrç   Ú
absolutizerè   r
   rÖ   )r   Úiris     r   rì   zPrologue.absolutize~  sµ   € õ �c�9Ñ%Ô%ð 	/ØŒx˜7Ò"Ð"Ø×(Ò(¨¬°S´]ÑCÔCÐCØŒx˜9Ò$Ð$ÝØ”J S¤X¸¿ºÈÌÑ8UÔ8Uðñ ô ð ð %õ ˜�VÑ$Ô$ð 	/¨S°C¨Z¨ZÝ˜# D¤IÐ.Ñ.Ô.Ð.àˆ
r   N)r   r   r   r(   r   rß   râ   rì   r   r   r   rÔ   rÔ   l  sZ   € € € € € ðð ð;ð ;ð ;ð.ð .ð .ð?ð ?ð ?ðð ð ð ð r   rÔ   c                   ó   — e Zd ZdZd„ ZdS )ÚQueryz'
    A parsed and translated query
    c                 ó"   — || _         || _        d S r   )rŽ   Úalgebra)r   rŽ   rñ   s      r   r   zQuery.__init__˜  s   € Ø ˆŒØˆŒˆˆr   Nr'   r   r   r   rï   rï   “  s-   € € € € € ðð ðð ð ð ð r   rï   )!r§   rv   rª   r«   Úrdflib.compatr   r   Úrdflib.namespacer   rŸ   r   r   r   r	   r
   r   Úrdflib.termr   Ú!rdflib.plugins.sparql.parserutilsr   Úrdflib.plugins.sparqlr   r   r   r$   r*   r-   rV   r   Úobjectrš   rÔ   rï   r   r   r   ú<module>rø      sx  ðØ Ð Ð Ð Ø Ð Ð Ð Ø €€€à €€€à 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ð 1Ø -Ð -Ð -Ð -Ð -Ð -Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LØ Ð Ð Ð Ð Ð à 7Ð 7Ð 7Ð 7Ð 7Ð 7à Ð Ð Ð ð&ð &ð &ð &ð &�)ñ &ô &ð &ð
(ð (ð (ð (ð (�Kñ (ô (ð (ð
#ð #ð #ð #ð #�;ñ #ô #ð #ð(ð (ð (ð (ð (�kñ (ô (ð (ð
6ð 6ð 6ð 6ð 6ˆ~ñ 6ô 6ð 6ðr;ð ;ð ;ð ;ð ;�ñ ;ô ;ð ;ð|?Tð ?Tð ?Tð ?Tð ?T�Zñ ?Tô ?Tð ?TðDIð Ið Ið Ið I�6ñ Iô Ið IðX$ð $ð $ð $ð $ñ $ô $ð $ðNð ð ð ð ñ ô ð ð ð r   