Skip to content

Commit 17f3431

Browse files
committed
Add :optimize option to Query.execute.
Remember graph_name when dupping a Query.
1 parent 31a47d8 commit 17f3431

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

lib/rdf/query.rb

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -289,6 +289,8 @@ def optimize!(**options)
289289
# any additional keyword options
290290
# @option options [Hash{Symbol => RDF::Term}] bindings
291291
# optional variable bindings to use
292+
# @option options [Boolean] :optimize
293+
# Optimize query before execution.
292294
# @option options [RDF::Query::Solutions] solutions
293295
# optional initial solutions for chained queries
294296
# @yield [solution]
@@ -311,6 +313,7 @@ def execute(queryable, bindings: {}, solutions: Solution.new, graph_name: nil, n
311313
return @solutions
312314
end
313315

316+
self.optimize! if options[:optimize]
314317
patterns = @patterns
315318
graph_name = name if graph_name.nil?
316319
@graph_name = graph_name unless graph_name.nil?
@@ -505,7 +508,7 @@ def each_statement(&block)
505508
# @return [RDF::Query]
506509
def dup
507510
patterns = @patterns.map {|p| p.dup}
508-
Query.new(patterns, solutions: @solutions.dup, **options)
511+
Query.new(patterns, graph_name: graph_name, solutions: @solutions.dup, **options)
509512
end
510513

511514
##

0 commit comments

Comments
 (0)