
    Pi3              	         U d Z ddlmZ ddlmZmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZ ddlZddlmZ ddlmZ ddlmZmZmZmZmZ dd	lmZ dd
lm Z  g dZ!e eeeeeeedZ"i Z#de$d<    G d de          Z% ed          Z& G d de
e&                   Z' G d de'e&                   Z(ddZ)ddZ* e            Z+ e,e+d          rPe"-                                D ]:\  Z.Z/e+0                    e.          D ]Z1 e(e1j2        e/e1          e#e1j2        e/f<   ;n_er e3e+e4          sJ e"-                                D ]:\  Z.Z/e+*                    e.g           D ]Z1 e(e1j2        e/e1          e#e1j2        e/f<   ;e	 ddd#            Z5eddd&            Z5	 ddd(Z5ej5        j6        j7        j8        r e)d)e d*d)            e)d+e d,d-            e)d-e d,d-            e)d.e d,d.            e)d/e d0d1            e)d2e d3d4            e)d5e d6d5            e)d7e d6d7            e)d8ed9d:            e)d;ed9d:            e)d<ed9d=            e)d>ed?d@            e)dAed?d@            e)dBedCdD            e)dEedCdD            e)dFedCdD            e)dGedHdI            e)dJedKdL            e)dMedKdL            e)dNedKdL            e)dOedKdP            e)dQedRdS            e)dTedRdS            e)dUedVdW            e)dXedVdW            e)dYedZd[            e)d\edZd[            e)d]ed^d_            e)d`ed^d_            e)daedbdc            e)ddededf            e)d8edgdh            e)d;edgdh            e)d>edidj            e)dAedidj            e)dBedidk            e)dEedidk            e)dFedidk            e)dJedldm            e)dMedldm            e)dNedldm            e)dOedldm            e)dTedndo            e)dQedndo            e)dUedpdq            e)dXedpdq            e)dYedrds            e)d\edrds            e)d]edtdu            e)d`edtdu            e)daedvdw            e)ddedxdy            e)dzed{d|            e)dzed{d}            e)dzed{d~            e)d;edd            e)dedd            e)dedd            e)dedd            e)dedd            e)dedd            e)dedd            e)d;edd            e)dedd            e)dedd            e)dedd            e)dedd            e)dedd            e)dedd            e)dedd           d  e5e          D             Z9d  e5e          D             Z:e9e:z
  Z;e;D ]Z< e)e<edd           dS )a  Plugin support for rdf.

There are a number of plugin points for rdf: parser, serializer,
store, query processor, and query result. Plugins can be registered
either through setuptools entry_points or by calling
rdf.plugin.register directly.

If you have a package that uses a setuptools based `setup.py` you can add the
following to your setup:

```python
entry_points = {
    'rdf.plugins.parser': [
        'nt =     rdf.plugins.parsers.ntriples:NTParser',
        ],
    'rdf.plugins.serializer': [
        'nt =     rdf.plugins.serializers.NTSerializer:NTSerializer',
        ],
    }
```

See the [setuptools dynamic discovery of services and plugins](http://peak.telecommunity.com/DevCenter/setuptools#dynamic-discovery-of-services-and-plugins)
for moreinformation.
    )annotations)
EntryPointentry_points)
TYPE_CHECKINGAnyDictGenericIteratorOptionalTupleTypeTypeVaroverloadN)Error)Parser)	ProcessorResultResultParserResultSerializerUpdateProcessor)
Serializer)Store)registergetpluginsPluginExceptionPluginPluginT	PKGPlugin)zrdf.plugins.storezrdf.plugins.serializerzrdf.plugins.parserzrdf.plugins.resultparserzrdf.plugins.resultserializerzrdf.plugins.queryprocessorzrdf.plugins.queryresultzrdf.plugins.updateprocessorz#Dict[Tuple[str, Type[Any]], Plugin]_pluginsc                      e Zd ZdS )r   N)__name__
__module____qualname__     a/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/rdflib/plugin.pyr   r   O   s        Dr&   r   r   c                      e Zd ZddZdd	Zd
S )r   namestrkindType[PluginT]module_path
class_namec                L    || _         || _        || _        || _        d | _        d S N)r)   r+   r-   r.   _class)selfr)   r+   r-   r.   s        r'   __init__zPlugin.__init__X   s,     		&$/3r&   returnc                    | j         Jt          | j        t                      t	                      dg          }t          || j                  | _         | j         S )N )r1   
__import__r-   globalslocalsgetattrr.   )r2   modules     r'   getClasszPlugin.getClassa   sE    ; 0'))VXXtLLF!&$/::DK{r&   N)r)   r*   r+   r,   r-   r*   r.   r*   r4   r,   r"   r#   r$   r3   r<   r%   r&   r'   r   r   W   s<        4 4 4 4     r&   r   c                      e Zd ZddZdd	Zd
S )r   r)   r*   r+   r,   epr   c                >    || _         || _        || _        d | _        d S r0   )r)   r+   r@   r1   )r2   r)   r+   r@   s       r'   r3   zPKGPlugin.__init__i   s"    		/3r&   r4   c                Z    | j         | j                                        | _         | j         S r0   )r1   r@   load)r2   s    r'   r<   zPKGPlugin.getClasso   s#    ;',,..DK{r&   N)r)   r*   r+   r,   r@   r   r=   r>   r%   r&   r'   r   r   h   s<        4 4 4 4     r&   r   r)   r*   r+   	Type[Any]c                B    t          | |||          }|t          | |f<   dS )zx
    Register the plugin for (name, kind). The module_path and
    class_name should be the path to a plugin class.
    N)r   r    )r)   r+   r-   r.   ps        r'   r   r   u   s+    
 	tT;
33AHdD\r&   r,   r4   c                    	 t           | |f         }n$# t          $ r t          d| d|d          w xY w|                                S )zk
    Return the class for the specified (name, kind). Raises a
    PluginException if unable to do so.
    zNo plugin registered for (z, ))r    KeyErrorr   r<   r)   r+   rF   s      r'   r   r   ~   sb    
R%tTl3 R R RoTTT444PQQQR::<<s    !3select)group.Optional[str]Iterator[Plugin[PluginT]]c                    d S r0   r%   r)   r+   s     r'   r   r      s	     !$r&   NoneIterator[Plugin]c                    d S r0   r%   rP   s     r'   r   r      s    NQcr&   Optional[Type[PluginT]]c              #  ~   K   t                                           D ] }| | |j        k    r|||j        k    r|V  !dS )zk
    A generator of the plugins.

    Pass in name and kind to filter... else leave None to match all.
    N)r    valuesr)   r+   rJ   s      r'   r   r      sR       __  LDAFNNGGG r&   
BerkeleyDBz rdflib.plugins.stores.berkeleydbdefaultzrdflib.plugins.stores.memoryMemorySimpleMemory	Auditablezrdflib.plugins.stores.auditableAuditableStore
Concurrentz rdflib.plugins.stores.concurrentConcurrentStoreSPARQLStorez!rdflib.plugins.stores.sparqlstoreSPARQLUpdateStorezapplication/rdf+xmlz!rdflib.plugins.serializers.rdfxmlXMLSerializerxmlz
pretty-xmlPrettyXMLSerializerztext/n3zrdflib.plugins.serializers.n3N3Serializern3ztext/turtlez!rdflib.plugins.serializers.turtleTurtleSerializerturtlettl
longturtlez%rdflib.plugins.serializers.longturtleLongTurtleSerializerzapplication/n-tripleszrdflib.plugins.serializers.ntNTSerializerntriplesntnt11NT11Serializerzjson-ldz!rdflib.plugins.serializers.jsonldJsonLDSerializerzapplication/ld+jsonzapplication/n-quadsz!rdflib.plugins.serializers.nquadsNQuadsSerializernquadszapplication/trixzrdflib.plugins.serializers.trixTriXSerializertrixzapplication/trigzrdflib.plugins.serializers.trigTrigSerializertrighextzrdflib.plugins.serializers.hextHextuplesSerializerpatchz rdflib.plugins.serializers.patchPatchSerializerzrdflib.plugins.parsers.rdfxmlRDFXMLParserz rdflib.plugins.parsers.notation3N3ParserTurtleParserzrdflib.plugins.parsers.ntriplesNTParserzrdflib.plugins.parsers.jsonldJsonLDParserzrdflib.plugins.parsers.nquadsNQuadsParserzrdflib.plugins.parsers.trix
TriXParserzrdflib.plugins.parsers.trig
TrigParserzrdflib.plugins.parsers.hextHextuplesParserzrdflib.plugins.parsers.patchRDFPatchParsersparqlzrdflib.plugins.sparql.processorSPARQLResultSPARQLProcessorSPARQLUpdateProcessorz(rdflib.plugins.sparql.results.xmlresultsXMLResultSerializerzapplication/sparql-results+xmltxtz(rdflib.plugins.sparql.results.txtresultsTXTResultSerializerjsonz)rdflib.plugins.sparql.results.jsonresultsJSONResultSerializerzapplication/sparql-results+jsoncsvz(rdflib.plugins.sparql.results.csvresultsCSVResultSerializerztext/csvXMLResultParserJSONResultParserCSVResultParsertsvz(rdflib.plugins.sparql.results.tsvresultsTSVResultParserztext/tab-separated-valuesc                    h | ]	}|j         
S r%   r)   .0parsers     r'   	<setcomp>r   i  s    @@@@@@r&   )r+   c                    h | ]	}|j         
S r%   r   r   s     r'   r   r   j  s    GGG&&+GGGr&   z#rdflib.plugins.sparql.results.graphGraphResultParser)r)   r*   r+   rD   )r)   r*   r+   r,   r4   r,   )..)r)   rM   r+   r,   r4   rN   )r)   rM   r+   rQ   r4   rR   )NN)r)   rM   r+   rT   r4   rN   )=__doc__
__future__r   importlib.metadatar   r   typingr   r   r   r	   r
   r   r   r   r   r    rdflib.plugins.stores.berkeleydbrdflibrdflib.exceptionsr   rdflib.parserr   rdflib.queryr   r   r   r   r   rdflib.serializerr   rdflib.storer   __all__rdflib_entry_pointsr    __annotations__r   r   r   r   r   r   all_entry_pointshasattritemsentry_pointr+   rK   r@   r)   
isinstancedictr   stores
berkeleydb	has_bsddbgraph_parsersresult_parsersgraph_result_parsersparser_namer%   r&   r'   <module>r      s    2 # " " " " " 7 7 7 7 7 7 7 7                        ( ' ' ' # # # # # #                          ) ( ( ( ( (         (  ,$4"+%#2	 	  13 2 2 2 2	 	 	 	 	e 	 	 	
 ')

    WW   "
 
 
 
 
w 
 
 
   	 	 	 	  <>> 
7X&& 
E06688 E ET")))<< 	E 	EB(1	"'4(D(DHbgt_%%	EE
  2z*D1111106688 E ET"&&{B77 	E 	EB(1	"'4(D(DHbgt_%%	E 
58$ $ $ $ 
$
 
 Q Q Q Q 
 Q AE
 
 
 
 
 
>#- H*	   		"	   		"	   		"	   		%	   		&	   		'	   		'	   	'	   		'	   	'	   	#	   	#	   	'	   	'	   		'	   	+	   	#	   	#	   	#	   	
#	   	'	   	'	   	'	   	'	   	%	   	
%	   	%	   	
%	   	
%	   	&	   	
#	   		
#	   	
&	   	
&	   	
&	   	
&	   		
&	   	
%	   	
%	   	
%	   	

%	   	
#	   	
#	   	
#	   	
#	   	
!	   	

!	   	
!	   	

!	   	

!	   	
"	   	
%	   	%	   	%	   		.	   	$.	   		.	   	
/	   	%/	   		.	   	.	   		.	   	$.	   	
/	   	%/	   		.	   	.	   		.	   	.	   A@77+?+?+?@@@GGGG,F,F,FGGG$~5 '  KH-	    r&   