@@ -102,13 +102,16 @@ class _Select(_SelectOrUpdate):
102
102
'text/turtle' ,
103
103
]
104
104
105
- def __init__ (self , server , query , output = 'json' , * args ,** kwargs ):
105
+ def __init__ (self , server , query , timeout , output = 'json' , * args ,** kwargs ):
106
106
super (_Select ,self ).__init__ (server , query , * args ,** kwargs )
107
107
if output == 'xml' :
108
108
self .headers ['Accept' ] = ',' .join (self .acceptable_xml_responses )
109
109
else :
110
110
self .headers ['Accept' ] = ',' .join (self .acceptable_json_responses )
111
111
112
+ if timeout is not None :
113
+ self .headers ['X-BIGDATA-MAX-QUERY-MILLIS' ] = str (timeout )
114
+
112
115
def default_graph_uri (self ):
113
116
return 'default-graph-uri'
114
117
@@ -176,7 +179,7 @@ def __init__(self, query_url, post_queries=False, post_directly=False):
176
179
'application/sparql-results+xml' ,
177
180
]
178
181
179
- def query (self , sparql , * args , ** kwargs ):
182
+ def query (self , sparql , timeout = None , * args , ** kwargs ):
180
183
"""Executes a SPARQL query. The return type varies based on what the
181
184
SPARQL store responds with:
182
185
@@ -186,7 +189,7 @@ def query(self, sparql, *args, **kwargs):
186
189
187
190
:param sparql: The SPARQL to execute.
188
191
:returns: The results of the query from the SPARQL store."""
189
- return _Select (self , sparql , * args , ** kwargs ).execute ()
192
+ return _Select (self , sparql , timeout , * args , ** kwargs ).execute ()
190
193
191
194
def update (self , sparql , ** kwargs ):
192
195
"""Executes a SPARQL update.
0 commit comments