One could run into race condition issues when having one client used by multiple threads to run query and update calls. This is due to the use of instance variables in the make_post_request method:
request['Content-Type'] = 'application/sparql-' + (@op || :query).to_s
https://github.com/ruby-rdf/sparql-client/blob/master/lib/sparql/client.rb#L505