o
    
i
                     @  s   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mZ d dlmZmZ d dlmZmZ edZG dd	 d	eZG d
d deZdS )    )annotations)IOAnyMutableMappingOptionalUnion)Graph)RDF	Namespace)ResultResultParser)NodeVariablez6http://www.w3.org/2001/sw/DataAccess/tests/result-set#c                   @  s   e Zd Zd
ddZd	S )RDFResultParsersourceUnion[IO, Graph]kwargsr   returnr   c                 K  s   t |fi |S )N)	RDFResult)selfr   r    r   \/home/ubuntu/.local/lib/python3.10/site-packages/rdflib/plugins/sparql/results/rdfresults.pyparse   s   zRDFResultParser.parseN)r   r   r   r   r   r   )__name__
__module____qualname__r   r   r   r   r   r          r   c                   @  s   e Zd ZdddZdS )	r   r   r   r   r   c              	   K  sB  t |tst }|j|fi | n|}|jtjtjd}|d u r+d}t }||7 }n||tj}|d ur9d}nd}t	
| | |dkrdd ||tjD | _g | _||tjD ]$}i }	||tjD ]}
||
tj|	t||
tj< qg| j|	 q\d S |dkr|j| _|jd u rtdd S |dkr|| _d S d S )N)	predicateobject	CONSTRUCTASKSELECTc                 S  s   g | ]}t |qS r   )r   ).0vr   r   r   
<listcomp>0   s    z&RDFResult.__init__.<locals>.<listcomp>z Malformed boolean in ask answer!)
isinstancer   r   valuer	   typeRS	ResultSetbooleanr   __init__objectsresultVariablevarsbindingssolutionbindingr   variableappend	askAnswer	Exceptiongraph)r   r   r   r6   rstype_gr4   ssolbr   r   r   r+      sB   

	

zRDFResult.__init__N)r   r   r   r   )r   r   r   r+   r   r   r   r   r      r   r   N)
__future__r   typingr   r   r   r   r   rdflib.graphr   rdflib.namespacer	   r
   rdflib.queryr   r   rdflib.termr   r   r(   r   r   r   r   r   r   <module>   s    