o
    i                     @   sn   d dl Z d dl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 de
Zd	d
 ZdS )    N)IOOptional)ConjunctiveGraphGraph)_quoteLiteral)
Serializer)LiteralNQuadsSerializerc                       sJ   e Zd Zdef fddZ		d
dee dee dee fdd	Z	  Z
S )r	   storec                    s&   |j stdtt| | |  d S )Nz?NQuads serialization only makes sense for context-aware stores!)context_aware	Exceptionsuperr	   __init__)selfr
   	__class__ \/var/www/edux/Edux_v2/venv/lib/python3.10/site-packages/rdflib/plugins/serializers/nquads.pyr      s   zNQuadsSerializer.__init__Nstreambaseencodingc                 K   s   |d ur	t d |d ur| | j krt d|  | j}| j D ]}|D ]}|t||j	|d q*q&|d	d d S )Nz'NQuadsSerializer does not support base.zCNQuadsSerializer does not use custom encoding. Given encoding was: replace
zlatin-1)
warningswarnlowerr   r
   contextswrite_nq_row
identifierencode)r   r   r   r   argscontexttripler   r   r   	serialize   s    
zNQuadsSerializer.serialize)NN)__name__
__module____qualname__r   r   r   bytesr   strr$   __classcell__r   r   r   r   r	      s    c                 C   sf   t | d trd| d  | d  t| d | f S d| d  | d  | d  | f S )N   z%s %s %s %s .
r      )
isinstancer   n3r   )r#   r"   r   r   r   r   -   s   





r   )r   typingr   r   rdflib.graphr   r   rdflib.plugins.serializers.ntr   rdflib.serializerr   rdflib.termr   __all__r	   r   r   r   r   r   <module>   s    !