
    01iw                     l    S r SSKrSSKJr  SSKJrJr  SSKJrJ	r	J
r
  S/r\" S5      r " S S\
5      rg)	z2
Notation 3 (N3) RDF graph serializer for RDFLib.
    N)Graph)OWL	Namespace)OBJECTSUBJECTTurtleSerializerN3Serializerz#http://www.w3.org/2000/10/swap/log#c                      ^  \ rS rSrSrSrSS\4U 4S jjjrU 4S jrU 4S jr	SU 4S jjr
U 4S	 jrSU 4S
 jjrSS jrU 4S jrSU 4S jjrS rS rSrU =r$ )r	      z%Notation 3 (N3) RDF graph serializer.n3storec                    > [         [        U ]  U5        U R                  R	                  [
        R                  S[        R                  S05        X l	        g )N=z=>)
superr	   __init__keywordsupdater   sameAsSWAP_LOGimpliesparent)selfr   r   	__class__s      W/home/james-whalen/.local/lib/python3.13/site-packages/rdflib/plugins/serializers/n3.pyr   N3Serializer.__init__   s<    lD*51cjj#x/?/?FG    c                 8   > [         [        U ]  5         0 U l        g N)r   r	   reset_storesr   r   s    r   r   N3Serializer.reset   s    lD')r   c                 N   > U R                   (       d  [        [        U ]  5         g g r   )r   r   r	   endDocumentr!   s    r   r$   N3Serializer.endDocument   s    {{,13 r   c                    > [         [        U ]  U5      nU R                  b  X R                  R                  5       -  nU$ r   )r   r	   indentr   )r   modifierr'   r   s      r   r'   N3Serializer.indent"   s8    |T1(;;;"kk((**Fr   c                 l  > [         [        U ]  U5        [        US   [        5      (       a  US    H  nU R                  U5        M     [        US   [        5      (       a  US    H  nU R                  U5        M     [        US   [        5      (       a  US    H  nU R                  U5        M     g g )Nr         )r   r	   preprocessTriple
isinstancer   )r   tripletr   s      r   r-   N3Serializer.preprocessTriple(   s    lD26:fQi''AY%%a( fQi''AY%%a( fQi''AY%%a(  (r   c                    > S nU R                   b  U R                   R                  X5      nUc  [        [        U ]  X5      nU$ r   )r   	get_pnamer   r	   )r   uri
gen_prefixqnamer   s       r   r3   N3Serializer.get_pname4   sA    ;;"KK))#:E=,7HEr   c                 X    [         R                  " S[        SS9  U R                  X5      $ )NzHN3Serializer.getQName is deprecated, use N3Serializer.get_pname instead.r,   )
stacklevel)warningswarnDeprecationWarningr3   )r   r4   r5   s      r   getQNameN3Serializer.getQName<   s(    V	

 ~~c..r   c                    > U R                  U5        U R                  U5      n[        U5      S:X  a  gU R                  U5      =(       d    [        [
        U ]  U5      $ )Nr   F)subjectDonebuildPredicateHashlens_clauser   r	   	statement)r   subject
propertiesr   s      r   rD   N3Serializer.statementD   sP    !,,W5
z?a}}W%U|T)LW)UUr   c                 \   > U R                  X5      (       d  [        [        U ]  XU5        g g r   )p_clauser   r	   path)r   nodepositionnewliner   s       r   rJ   N3Serializer.pathK   s(    }}T,,,*47C -r   c                     [        U[        5      (       a[  U R                  SU R                  5       -   5        U R	                  U[
        5        U R                  U5        U R                  S5        gg)N
z .TF)r.   r   writer'   rI   r   predicateList)r   rE   s     r   rC   N3Serializer.s_clauseO   sT    gu%%JJtdkkm+,MM'7+w'JJtr   c                    [        U[        5      (       a  U R                  U5        U[        L a  U R	                  S5        U R	                  S5        U =R
                  S-  sl        [        XS9nUR                  U R                  5        U =R
                  S-  sl        U R	                  U R                  5       S-   5        gg)N {r+   )r   }TF)
r.   r   r@   r   rQ   depthr	   	serializestreamr'   )r   rK   rL   
serializers       r   rI   N3Serializer.p_clauseY   s    dE""T"6!

3JJsOJJ!OJ%d8J  -JJ!OJJJt{{}s*+r   )r    r   r   )r   )T)F)__name__
__module____qualname____firstlineno____doc__
short_namer   r   r   r$   r'   r-   r3   r=   rD   rJ   rC   rI   __static_attributes____classcell__)r   s   @r   r	   r	      sU    /Je  
4
)/VD r   )ra   r:   rdflib.graphr   rdflib.namespacer   r   !rdflib.plugins.serializers.turtler   r   r   __all__r   r	    r   r   <module>rj      s=      + O O
:;W# Wr   