
    01i                        S SK Jr  S SKJrJrJr  S SKJrJr  S SK	J
r
  S SKJr  S SKJr  S SKJrJrJr  S/r\
" S	5      r\
" S
5      r " S S\5      rg)    )annotations)IOAnyOptional)ConjunctiveGraphGraph)	Namespace)	XMLWriter)
Serializer)BNodeLiteralURIRefTriXSerializerz&http://www.w3.org/2004/03/trix/trix-1/z$http://www.w3.org/XML/1998/namespacec                  `   ^  \ rS rSrSrSU 4S jjr  S	         S
S jjrS rS rSr	U =r
$ )r      zTriX RDF graph serializer.c                d   > [         [        U ]  U5        UR                  (       d  [	        S5      eg )Nz<TriX serialization only makes sense for context-aware stores)superr   __init__context_aware	Exception)selfstore	__class__s     Y/home/james-whalen/.local/lib/python3.13/site-packages/rdflib/plugins/serializers/trix.pyr   TriXSerializer.__init__   s0    nd,U3""N  #    c                B   U R                   R                  n[        XUS[        0S9U l        U R                  R                  [        S   5        Uc-  U R                   R                  b  U R                   R                  nUb  U R                  R                  SU5        U R                  R                  5         [        U R                   [        5      (       a3  U R                   R                  5        H  nU R                  U5        M     O\[        U R                   [        5      (       a  U R                  U R                   5        O![        S[        U R                   5       35      eU R                  R!                  5         UR#                  SR%                  S5      5        g )N )extra_nsTriX(http://www.w3.org/XML/1998/namespacebasezUnknown graph type: 
zlatin-1)r   namespace_managerr
   TRIXNSwriterpushbase	attribute
namespaces
isinstancer   contexts_writeGraphr   r   typepopwriteencode)r   streamr'   encodingkwargsnmsubgraphs          r   	serializeTriXSerializer.serialize   s!    ZZ))HF|L(<DJJOO7::??DKK!!"LdS djj"233 JJ//1  * 2

E**TZZ(24

3C2DEFFT[[+,r   c                   U R                   R                  [        S   5        UR                  (       a&  U R                   R	                  SUR                  5        [        UR                  [        5      (       a4  U R                   R                  [        S   [        UR                  5      S9  UR                  S5       H  nU R                  U5        M     U R                   R                  5         g )Ngraphr!   uricontent)NNN)r%   r&   r$   r'   r(   r*   
identifierr   elementstrtriples_writeTripler.   )r   r9   triples      r   r,   TriXSerializer._writeGraph:   s    )::KK!!:EJJ e&&//KKus5;K;K7LMmm$67Ff% 8r   c           	        U R                   R                  [        S   5        U GH|  n[        U[        5      (       a,  U R                   R                  [        S   [        U5      S9  ME  [        U[        5      (       a,  U R                   R                  [        S   [        U5      S9  M  [        U[        5      (       d  M  UR                  (       aI  U R                   R                  [        S   [        U5      [        S   [        UR                  5      0S9  M  UR                  (       aJ  U R                   R                  [        S   [        U5      [        S	   [        UR                  5      0S9  GMR  U R                   R                  [        S   [        U5      S9  GM     U R                   R                  5         g )
NrB   r:   r;   idtypedLiteraldatatype)r<   
attributesplainLiterallang)r%   r&   r$   r*   r   r>   r?   r   r   rG   languageXMLNSr.   )r   rB   	components      r   rA   TriXSerializer._writeTripleG   sI   )*I)V,,##F5M3y>#JIu--##F4L#i.#IIw//%%KK''~. #I$*:$6I<N<N8O#P ( 
 ''KK''~. #I$)&M3y7I7I3J#K (  KK''~(>I'W'  ( 	r   )r%   )r   r   )NN)
r1   z	IO[bytes]r'   Optional[str]r2   rO   r3   r   returnNone)__name__
__module____qualname____firstlineno____doc__r   r6   r,   rA   __static_attributes____classcell__)r   s   @r   r   r      sW    $ #"&	-- -  	-
 - 
-< r   N)
__future__r   typingr   r   r   rdflib.graphr   r   rdflib.namespacer	   $rdflib.plugins.serializers.xmlwriterr
   rdflib.serializerr   rdflib.termr   r   r   __all__r$   rL   r    r   r   <module>rb      sN    " $ $ 0 & : ( . .
 
;	<89KZ Kr   