o
    mi
                     @  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   b/home/kim/smarthome/.venv/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objectZ	CONSTRUCTZASKZ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RSZ	ResultSetbooleanr   __init__objectsZresultVariablevarsZbindingsZsolutionZbindingr   variableappend	askAnswer	Exceptiongraph)r   r   r   r.   rstype_gr,   sZ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   Zrdflib.graphr   Zrdflib.namespacer	   r
   Zrdflib.queryr   r   Zrdflib.termr   r   r%   r   r   r   r   r   r   <module>   s    