
    Pi"                        d dl mZ d dlZd dl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mZ erd dlmZ 	 dgZ G d	 de          Z G d
 de          ZddZddZddZddZ ej        de           dS )    )annotationsN)IOTYPE_CHECKINGAnyOptionalTupleUnion)Graph)
Serializer)Literal)_TripleTypeNTSerializerc                  (    e Zd ZdZddZ	 	 dddZdS )r   z)Serializes RDF graphs to NTriples format.storer
   c                0    t          j        | |           d S Nr   __init__selfr   s     q/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/rdflib/plugins/serializers/nt.pyr   zNTSerializer.__init__       D%(((((    Nutf-8stream	IO[bytes]baseOptional[str]encodingkwargsr   returnNonec                    |t          j        d           |dk    rt          j        d|            | j        D ]6}|                    t	          |                                                     7d S )Nz#NTSerializer does not support base.r   z=NTSerializer always uses UTF-8 encoding. Given encoding was: )warningswarnr   write_nt_rowencode)r   r   r   r   r    triples         r   	serializezNTSerializer.serialize   s     M?@@@wM2'/2 2  
 j 	3 	3FLL//112222	3 	3r   r   r
   )Nr   )
r   r   r   r   r   r   r    r   r!   r"   )__name__
__module____qualname____doc__r   r*    r   r   r   r      sO        33) ) ) ) #")	3 3 3 3 3 3 3r   c                      e Zd ZdZddZdS )NT11Serializerz`Serializes RDF graphs to RDF 1.1 NTriples format.

    Exactly like nt - only utf8 encoded.
    r   r
   c                0    t          j        | |           d S r   r   r   s     r   r   zNT11Serializer.__init__6   r   r   Nr+   )r,   r-   r.   r/   r   r0   r   r   r2   r2   0   s2         
) ) ) ) ) )r   r2   r)   r   r!   strc                z   t          | d         t                    rN| d                                         d| d                                         dt          | d                   dS | d                                         d| d                                         d| d                                         dS )N   r       z .
)
isinstancer   n3_quoteLiteral)r)   s    r   r'   r'   :   s    &)W%% Q1ILLNNNN1ILLNNNN&)$$$$
 	
 "(PPr   l_r   c                    t          |           }| j        r"| j        rt          d          |d| j        S | j        r|d| j        dS d|z  S )z&A simpler version of term.Literal.n3()z"Literal has datatype AND language!@z^^<>z%s)_quote_encodelanguagedatatype	Exception)r<   encodeds     r   r;   r;   E   sq     BG	{ ; 	B@AAA!''2;;//	 $WWbkkk22g~r   c                    d|                      dd                               dd                               dd                               dd	          z  S )
Nz"%s"\z\\
z\n"z\"z\r)replace)r<   s    r   r@   r@   T   sS    BJJtV,,44T5AAIIU gdE r   errUnicodeErrorTuple[Union[str, bytes], int]c                    d | j         | j        | j                 }d                    fd|D                       | j        fS )zu
    Do unicode char replaces as defined in https://www.w3.org/TR/2004/REC-rdf-testcases-20040210/#ntrip_strings
    c                >    t          |           } | dk    rdnd}|| z  S )Ni  z\u%04Xz\U%08X)ord)cfmts     r   _replace_singlez3_nt_unicode_error_resolver.<locals>._replace_singlea   s'    FF;;iiIQwr    c              3  .   K   | ]} |          V  d S r   r0   ).0rQ   rS   s     r   	<genexpr>z-_nt_unicode_error_resolver.<locals>.<genexpr>k   s-      66!??1%%666666r   )objectstartendjoin)rK   stringrS   s     @r   _nt_unicode_error_resolverr]   Z   sW       Z	CG+,F776666v66666??r   _rdflib_nt_escape)r)   r   r!   r4   )r<   r   r!   r4   )r<   r4   r!   r4   )rK   rL   r!   rM   )
__future__r   codecsr$   typingr   r   r   r   r   r	   rdflib.graphr
   rdflib.serializerr   rdflib.termr   r   __all__r   r2   r'   r;   r@   r]   register_errorr0   r   r   <module>rg      s   " " " " " "   A A A A A A A A A A A A A A A A       ( ( ( ( ( (       )(((((( 
3 3 3 3 3: 3 3 32) ) ) ) )\ ) ) )Q Q Q Q      @ @ @ @(  )+E F F F F Fr   