
    01i7                        S SK Jr  S SKJr  S SKJrJrJrJrJ	r	J
r
Jr  S SKJr  S SKJr  S SKJr  S SKJrJrJrJrJrJr  S SKJrJr  S S	KJrJrJrJ r   \(       a  S S
KJ!r!  SS jr"SS jr#SS jr$ " S S\5      r%g)    )annotationsdedent)Any	GeneratorIterableIteratorMappingOptionalTuple)Graph)	has_httpx)RepositoryNotFoundError)DATASET_DEFAULT_GRAPH_IDDataset_ContextType	_QuadType_TriplePatternType_TripleType)VALID_STOREStore)BNodeNodeURIRefVariable)RDF4JClientc                    [        [        UR                  5       5      5      nU(       d  U $ SR                  SR                  U VVs/ s H  u  p4SU< SU< S3PM     snn5      SU /5      $ s  snnf )N
zPREFIX z: <> )setlistitemsjoin)queryextra_bindingsbindingskvs        U/home/james-whalen/.local/lib/python3.13/site-packages/rdflib/plugins/stores/rdf4j.py_inject_prefixesr+      se    4,,./0H99IIhGhdaAq1hGH	
 Gs   A-c                b    [        U [        5      (       a  [        S5      eU R                  5       $ )NzaSPARQL-based stores do not support BNodesSee http://www.w3.org/TR/sparql11-query/#BGPsparqlBNodes)
isinstancer   	Exceptionn3)nodes    r*   _node_to_sparqlr1   %   s0    $G
 	
 779    c                     [        SU  S35      $ )Nzu
        PREFIX config: <tag:rdf4j.org,2023:config/>

        []    a config:Repository ;
            config:rep.id "a  " ;
            config:rep.impl
                [
                    config:rep.type "openrdf:SailRepository" ;
                    config:sail.impl
                        [
                            config:native.tripleIndexers "spoc,posc" ;
                            config:sail.defaultQueryEvaluationMode "STANDARD" ;
                            config:sail.iterationCacheSyncThreshold "10000" ;
                            config:sail.type "openrdf:NativeStore" ;
                        ] ;
                ] ;
        .
    r   )repository_ids    r*   _default_repo_configr5   .   s%     *? +		 r2   c                  l  ^  \ rS rSrSrSrSrSrSr    S           SU 4S jjjr	\
S 5       r\
S 5       r S     SS jjrSSS	 jjr  S       SS
 jjrSS jr S     S S jjr S     S!S jjr S   S"S jjrS#S$S jjrS%S jrS&S jrS'S jrS(S jrS(S jrSS)S jjrSrU =r$ )*
RDF4JStoreE   zAn RDF4J store.TFc                   > Uc  [        U5      n[        XU40 UD6U l        X l        S U l        U R                  X65        [        TU ]  5         g N)r5   r   _client_repository_id_repoopensuper__init__)	selfbase_urlr4   configurationauthtimeoutcreatekwargs	__class__s	           r*   r@   RDF4JStore.__init__M   sL      0?M"87EfE+
		-(r2   c                    U R                   $ r:   )r;   rA   s    r*   clientRDF4JStore.client_   s    ||r2   c                    U R                   c4  U R                  R                  R                  U R                  5      U l         U R                   $ r:   )r=   rL   repositoriesgetr<   rK   s    r*   repoRDF4JStore.repoc   s8    ::1155d6I6IJDJzzr2   c                B    U R                   R                  5         [        $ ! [         ar    U(       aQ  U R                  R                  R                  U R                  U5        U R                   R                  5          [        $ [        SU R                   S35      ef = f)NzRepository z not found.)	rQ   healthr   rL   rO   rF   r<   r.   r   )rA   rC   rF   s      r*   r>   RDF4JStore.openi   s    	PII  ' 	P((//0C0C]S		  "   +d.A.A-B+ NOO	Ps   " ABBc                8    U R                   R                  5         g r:   )rL   close)rA   commit_pending_transactions     r*   rW   RDF4JStore.closex   s    r2   c                   Uu  pEnUb  UR                   [        :X  a  SOUR                   R                  5       nUR                  5        SUR                  5        SUR                  5        SU S3nU R                  R	                  U5        g )Nr     z .
identifierr   r/   rQ   upload)	rA   triplecontextquotedspo
graph_name	statements	            r*   addRDF4JStore.add{   s     a '"4"48P"P ##&&( 	
 ttvhaxq*R@			#r2   c           	     4   SnU Hu  u  p4pVUb  UR                   [        :X  a  SOUR                   R                  5       nUR                  5        SUR                  5        SUR                  5        SU S3nX(-  nMw     U R                  R	                  U5        g )Nr    r[   z .
r\   )	rA   quads
statementsrb   rc   rd   cre   rf   s	            r*   addNRDF4JStore.addN   s    
JA! 90H H \\__& 
 446(!ADDF81QTTVHAj\FI#J   			$r2   c                h    Uu  p4nUb  UR                   OS nU R                  R                  X4XV5        g r:   )r]   rQ   delete)rA   r_   r`   rb   rc   rd   gs          r*   removeRDF4JStore.remove   s3    
 a")"5G4		q$r2   c           	   #    #    Uu  p4nUb  UR                   OS nU R                  R                  X4XV5      n[        U[        5      (       a&  U H  u  p4pXX4U4[        [        XS9/5      4v   M!     g U H  n	U	[        S /5      4v   M     g 7f)Nr]   )r]   rQ   rP   r-   r   iterr   )
rA   triple_patternr`   rb   rc   rd   re   result_graphrq   r_   s
             r*   triplesRDF4JStore.triples   s     
 !a+2+>W''D
yy}}Q19lG,,*
aQiuT'@&A!BBB + 'dD6l** 's   BB
c              #    #    Uc-  U R                   R                  5        H  n[        XS9v   M     g Uu  p4n[        U(       a  UO
[	        S5      5      [        U(       a  UO
[	        S5      5      [        U(       a  UO
[	        S5      5      4nSU-  nU R                   R                  U5      nU H  n	[        X	S   S9v   M     g 7f)Nru   rb   rc   rd   z:SELECT DISTINCT ?graph WHERE { GRAPH ?graph { %s %s %s } }graph)rQ   graph_namesr   r1   r   r%   )
rA   r_   re   rb   rc   rd   paramsr%   resultrows
             r*   contextsRDF4JStore.contexts   s      >"ii335
D88 6 GA!QHSM:QHSM:QHSM:F MvU  YY__U+FD\:: s   CCc                N    U R                   R                  R                  X5        g r:   )rQ   
namespacesr!   )rA   prefix	namespaceoverrides       r*   bindRDF4JStore.bind   s    		  3r2   c                    [        U R                  R                  R                  5        Vs/ s H  o"R                  UR
                  4PM     sn5      nUR                  [        U5      5      $ s  snf r:   )dictrQ   r   r"   r   r   rP   str)rA   r   xnamespace_prefixess       r*   r   RDF4JStore.prefix   s\    !.2ii.B.B.G.G.IJ.Ikk188$.IJ
 "%%c)n55 Ks   !A.c                l    U R                   R                  R                  U5      nUb  [        U5      $ S $ r:   )rQ   r   rP   r   )rA   r   r   s      r*   r   RDF4JStore.namespace   s0    %%))&1!'!3vf~==r2   c              #     #    U R                   R                  R                  5        H&  nUR                  [	        UR
                  5      4v   M(     g 7fr:   )rQ   r   r"   r   r   r   )rA   r   s     r*   r   RDF4JStore.namespaces   s<     ii**//1F--(8(8!999 2s   AAc                    UR                   [        :w  a7  U R                  R                  SUR                   R	                  5        35        g g )NzCREATE SILENT GRAPH )r]   r   rQ   updater/   rA   r|   s     r*   	add_graphRDF4JStore.add_graph   s@    77II3E4D4D4G4G4I3JKL 8r2   c                b    U R                   R                  R                  UR                  5        g r:   )rQ   graphsclearr]   r   s     r*   remove_graphRDF4JStore.remove_graph   s     		u//0r2   c                ^    U R                   R                  Uc  U5      $ UR                  5      $ r:   )rQ   sizer]   )rA   r`   s     r*   __len__RDF4JStore.__len__   s'    yy~~gQQg>P>PQQr2   )r;   r=   r<   )NNg      >@F)rB   r   r4   r   rC   z
str | NonerD   ztuple[str, str] | NonerE   floatrF   bool)F)rC   zstr | tuple[str, str] | NonerF   r   returnz
int | None)rX   r   r   None)NF)r_   r   r`   _ContextType | Nonera   r   r   r   )rj   zIterable[_QuadType]r   r   r:   )r_   r   r`   Optional[_ContextType]r   r   )rw   r   r`   r   r   z>Iterator[Tuple[_TripleType, Iterator[Optional[_ContextType]]]])r_   zOptional[_TripleType]r   z#Generator[_ContextType, None, None])T)r   r   r   r   r   r   r   r   )r   r   r   zOptional[str])r   r   r   zOptional[URIRef])r   zIterator[Tuple[str, URIRef]])r|   r   r   r   )r`   r   r   int)__name__
__module____qualname____firstlineno____doc__context_awareformula_awaretransaction_awaregraph_awarer@   propertyrL   rQ   r>   rW   rg   rm   rr   ry   r   r   r   r   r   r   r   r   __static_attributes____classcell__)rH   s   @r*   r7   r7   E   s   MMK %)'+  "	
 %   $     KP9CG	 (,	$$ %$ 	$
 
$
% +/%"% (% 
	% +/+*+ (+ 
H	+$ /3;+;	,;(46>:M
1R Rr2   r7   N)r%   r   r&   zMapping[str, Any]r   r   )r0   r   r   r   )r4   r   r   r   )&
__future__r   textwrapr   typingr   r   r   r	   r
   r   r   rdflibr   rdflib.contrib.rdf4jr   rdflib.contrib.rdf4j.exceptionsr   rdflib.graphr   r   r   r   r   r   rdflib.storer   r   rdflib.termr   r   r   r   r   r+   r1   r5   r7    r2   r*   <module>r      sW    "  O O O  * C  , 5 50
.ZR ZRr2   