
    i-                        d dl mZ d dl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gZ G d	 de      Zd
 Zy)    )annotationsN)IOAnyOptional)ConjunctiveGraphGraph)_quoteLiteral)
Serializer)LiteralNQuadsSerializerc                  @     e Zd Zd fdZ	 	 d	 	 	 	 	 	 	 	 	 ddZ xZS )r   c                ^    |j                   st        d      t        t        |   |       |  y )Nz?NQuads serialization only makes sense for context-aware stores!)context_aware	Exceptionsuperr   __init__)selfstore	__class__s     PC:\Projects\mas-dev\.venv\Lib\site-packages\rdflib/plugins/serializers/nquads.pyr   zNQuadsSerializer.__init__   s1    ""T  	.u5    c                   |t        j                  d       |C|j                         | j                  j                         k7  rt        j                  d|        | j                  }| j                  j                         D ]>  }|D ]7  }|j                  t        ||j                        j                  |d             9 @ |j                  dj                  d             y )Nz'NQuadsSerializer does not support base.zCNQuadsSerializer does not use custom encoding. Given encoding was: replace
zlatin-1)
warningswarnlowerencodingr   contextswrite_nq_row
identifierencode)r   streambaser   kwargscontexttriples          r   	serializezNQuadsSerializer.serialize   s     MMCDHNN$48K8K8M$MMM''/j2 ==zz**,G!FG$6$67>>xS " -
 	T[[+,r   )r   r   )NN)
r$   z	IO[bytes]r%   Optional[str]r   r*   r&   r   returnNone)__name__
__module____qualname__r   r)   __classcell__)r   s   @r   r   r      sE    % #"&	-- -  	-
 - 
-r   c                Z   t        | d   t              rJ| d   j                         d| d   j                         dt        | d         d|j                         dS | d   j                         d| d   j                         d| d   j                         d|j                         dS )N   r       z .
)
isinstancer   n3r	   )r(   r'   s     r   r!   r!   /   s    &)W%1ILLN1ILLN&)$JJL	
 	
 1ILLN1ILLN1ILLNJJL	
 	
r   )
__future__r   r   typingr   r   r   rdflib.graphr   r   rdflib.plugins.serializers.ntr	   rdflib.serializerr
   rdflib.termr   __all__r   r!    r   r   <module>r?      s7    "  $ $ 0 7 ( 
-z -B
r   