
    Pi                        d dl mZ d dlmZmZm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mZmZ dgZ e
d	          Z e
d
          Z G d de          ZdS )    )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                  >     e Zd ZdZd fdZ	 	 dddZd Zd Z xZS )r   zTriX RDF graph serializer.storer   c                    t          t          |                               |           |j        st	          d          d S )Nz<TriX serialization only makes sense for context-aware stores)superr   __init__context_aware	Exception)selfr   	__class__s     s/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/rdflib/plugins/serializers/trix.pyr   zTriXSerializer.__init__   sK    nd##,,U333" 	N  	 	    Nstream	IO[bytes]baseOptional[str]encodingkwargsr   returnNonec                   | j         j        }t          |||dt          i          | _        | j                            t          d                    || j         j        | j         j        }|| j                            d|           | j                                         t          | j         t                    r2| j                                         D ]}|                     |           nYt          | j         t                    r|                     | j                    n$t          dt          | j                              | j                                         |                    d                    d                     d S )N )extra_nsTriX(http://www.w3.org/XML/1998/namespacebasezUnknown graph type: 
zlatin-1)r   namespace_managerr
   TRIXNSwriterpushr   	attribute
namespaces
isinstancer   contexts_writeGraphr   r   typepopwriteencode)r   r   r   r   r    nmsubgraphs          r   	serializezTriXSerializer.serialize   sb    Z)HF|LLL(((<DJO7:?DK!!"LdSSS   dj"233 	G J//11 + +  ****+
E** 	GTZ((((E4
3C3CEEFFFT[[++,,,,,r   c                   | j                             t          d                    |j        r | j                             d|j                   t          |j        t                    r9| j                             t          d         t          |j                             |
                    d          D ]}|                     |           | j                                          d S )Ngraphr'   uricontent)NNN)r+   r,   r*   r   r-   r/   
identifierr   elementstrtriples_writeTripler3   )r   r:   triples      r   r1   zTriXSerializer._writeGraph:   s    ))): 	K!!:EJ   e&// 	NKus5;K7L7LMMMmm$677 	& 	&Ff%%%%r   c           	        | j                             t          d                    |D ]}t          |t                    r5| j                             t          d         t          |                     Mt          |t                    r5| j                             t          d         t          |                     t          |t                    r|j	        rV| j                             t          d         t          |          t          d         t          |j	                  i           	|j
        rV| j                             t          d         t          |          t          d	         t          |j
                  i           f| j                             t          d         t          |                     | j                                          d S )
NrC   r;   r<   idtypedLiteraldatatype)r=   
attributesplainLiterallang)r+   r,   r*   r/   r   r?   r@   r   r   rG   languageXMLNSr3   )r   rC   	components      r   rB   zTriXSerializer._writeTripleG   s   )*** 	X 	XI)V,, X##F5M3y>>#JJJJIu-- X##F4L#i..#IIIIIw// X% XK''~. #I$*:$6I<N8O8O#P (    
 ' XK''~. #I$)&M3y7I3J3J#K (     K''~(>I'WWWr   )r   r   )NN)
r   r   r   r   r   r   r    r   r!   r"   )	__name__
__module____qualname____doc__r   r8   r1   rB   __classcell__)r   s   @r   r   r      s        $$      #"&	- - - - -<        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>r\      s	   " " " " " " $ $ $ $ $ $ $ $ $ $ 0 0 0 0 0 0 0 0 & & & & & & : : : : : : ( ( ( ( ( ( . . . . . . . . . .
 
;	<	<	899K K K K KZ K K K K Kr   