§
    kÃ¿a…  ã                   ó|   — d Z ddlmZ ddlmZmZmZmZ ddlm	Z	m
Z
 ddlmZ ddlmZmZ dgZ G d„ de¦  «        Zd	S )
zb
Trig RDF graph serializer for RDFLib.
See <http://www.w3.org/TR/trig/> for syntax specification.
é    )Údefaultdict)ÚIOÚTYPE_CHECKINGÚOptionalÚUnion)ÚConjunctiveGraphÚGraph)ÚTurtleSerializer)ÚBNodeÚNodeÚTrigSerializerc            
       óœ   ‡ — e Zd ZdZdZdeeef         fˆ fd„Zd„ Z	ˆ fd„Z
	 	 	 ddee         d	ee         d
ee         dee         fd„Zˆ xZS )r   Útrigz    Ústorec                 ó€  •— |  |j         r|t          rt          |t          ¦  «        sJ ‚t	          |                     ¦   «         ¦  «        | _        |j        j        | _        |j        r| j                             |j        ¦  «         n|g| _        d | _        t          t          | ¦  «                             |¦  «         d S ©N)Úcontext_awarer   Ú
isinstancer   ÚlistÚcontextsÚdefault_contextÚ
identifierÚappendÚsuperr   Ú__init__)Úselfr   Ú	__class__s     €úA/usr/lib/python3/dist-packages/rdflib/plugins/serializers/trig.pyr   zTrigSerializer.__init__   s´   ø€ ØÐ,ØÔð 		(Ýð ;Ý! %Õ)9Ñ:Ô:Ð:Ð:Ð:Ý  §¢Ñ!1Ô!1Ñ2Ô2ˆDŒMØ#(Ô#8Ô#CˆDÔ ØÔ$ð <Ø”×$Ò$ UÔ%:Ñ;Ô;Ð;øà"˜GˆDŒMØ#'ˆDÔ å�n˜dÑ#Ô#×,Ò,¨UÑ3Ô3Ð3Ð3Ð3ó    c                 ó"  — | j         D ]†}|| _        |                      |j        ¦  «         t	          t
          ¦  «        | _        i | _        |D ]}|                      |¦  «         Œ|  	                    ¦   «         | j        | j        f| j
        |<   Œ‡d S r   )r   r   ÚgetQNamer   r   ÚintÚ_referencesÚ	_subjectsÚpreprocessTripleÚorderSubjectsÚ	_contexts)r   ÚcontextÚtriples      r   Ú
preprocesszTrigSerializer.preprocess%   s£   € Ø”}ð 	ð 	ˆGØ ˆDŒJØ�MŠM˜'Ô,Ñ-Ô-Ð-Ý*­3Ñ/Ô/ˆDÔØˆDŒNà!ð .ð .�Ø×%Ò% fÑ-Ô-Ð-Ð-ð ×"Ò"Ñ$Ô$Ø”ØÔ ð'ˆDŒN˜7Ñ#Ð#ð	ð 	r   c                 ód   •— t          t          | ¦  «                             ¦   «          i | _        d S r   )r   r   Úresetr'   )r   r   s    €r   r,   zTrigSerializer.reset5   s*   ø€ Ý�n˜dÑ#Ô#×)Ò)Ñ+Ô+Ð+ØˆŒˆˆr   NÚstreamÚbaseÚencodingÚspaciousc                 ó   — |                       ¦   «          || _        |�|| _        n| j        j        �| j        j        | _        |�|| _        |                      ¦   «          |                      ¦   «          d}| j                             ¦   «         D �]�\  }\  }}	}
|sŒ|
| _	        i | _
        || _        |	| _        | j        r;|j        | j        k    r+|                      |                      ¦   «         dz   ¦  «         n–t!          |j        t"          ¦  «        r|j                             ¦   «         }n5|                      |j        ¦  «        }|€|j                             ¦   «         }|                      |                      ¦   «         d|z  z   ¦  «         | xj        dz  c_        |D ]H}|                      |¦  «        rŒ|rd}|                      |¦  «        r|s|                      d¦  «         ŒI| xj        dz  c_        |                      d¦  «         �Œƒ|                      ¦   «          |                     d                     d¦  «        ¦  «         d S )	NTz
{z
%s {é   Fú
z}
zlatin-1)r,   r-   r.   r   Ú	_spaciousr*   ÚstartDocumentr'   Úitemsr#   Ú_serializedr$   r   r   ÚwriteÚindentr   r   Ún3r!   ÚdepthÚisDoneÚ	statementÚendDocumentÚencode)r   r-   r.   r/   r0   ÚargsÚ	firstTimer   Úordered_subjectsÚsubjectsÚrefÚiriÚsubjects                r   Ú	serializezTrigSerializer.serialize9   sE  € ð 	�
Š
‰ŒˆØˆŒàÐØˆDŒIˆIØŒZŒ_Ð(Øœ
œˆDŒIàÐØ%ˆDŒNà�ŠÑÔÐà×ÒÑÔÐàˆ	Ø8<¼×8LÒ8LÑ8NÔ8Nð 	ñ 	Ñ4ˆEÑ4Ð$ h°Ø#ð Øà"ˆDÔØ!ˆDÔØˆDŒJØ%ˆDŒNàÔ#ð 	;¨Ô(8¸DÔ<PÒ(PÐ(PØ—
’
˜4Ÿ;š;™=œ=¨5Ñ0Ñ1Ô1Ð1Ð1å˜eÔ.µÑ6Ô6ð 4ØÔ*×-Ò-Ñ/Ô/�C�CàŸ-š-¨Ô(8Ñ9Ô9�CØ�{Ø#Ô.×1Ò1Ñ3Ô3˜Ø—
’
˜4Ÿ;š;™=œ=¨8°c©>Ñ9Ñ:Ô:Ð:àˆJŒJ˜!‰OˆJŒJØ+ð %ð %�Ø—;’;˜wÑ'Ô'ð ØØð &Ø %�IØ—>’> 'Ñ*Ô*ð %°9ð %Ø—J’J˜tÑ$Ô$Ð$øØˆJŒJ˜!‰OˆJŒJØ�JŠJ�uÑÔÐÑà×ÒÑÔÐØ�Š�T—[’[ Ñ+Ô+Ñ,Ô,Ð,Ð,Ð,r   )NNN)Ú__name__Ú
__module__Ú__qualname__Ú
short_nameÚindentStringr   r	   r   r   r*   r,   r   Úbytesr   ÚstrÚboolrG   Ú__classcell__)r   s   @r   r   r      sÛ   ø€ € € € € à€JØ€Lð4˜e EÐ+;Ð$;Ô<ð 4ð 4ð 4ð 4ð 4ð 4ðð ð ð ð ð ð ð ð #Ø"&Ø#'ð8-ð 8-à�5”	ð8-ð �sŒmð8-ð ˜3”-ð	8-ð
 ˜4”.ð8-ð 8-ð 8-ð 8-ð 8-ð 8-ð 8-ð 8-r   N)Ú__doc__Úcollectionsr   Útypingr   r   r   r   Úrdflib.graphr   r	   Ú!rdflib.plugins.serializers.turtler
   Úrdflib.termr   r   Ú__all__r   © r   r   ú<module>rY      sÒ   ððð ð
 $Ð #Ð #Ð #Ð #Ð #Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5à 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø >Ð >Ð >Ð >Ð >Ð >Ø #Ð #Ð #Ð #Ð #Ð #Ð #Ð #ð Ð
€ð`-ð `-ð `-ð `-ð `-Ð%ñ `-ô `-ð `-ð `-ð `-r   