Class: Query2Jars2

Inherits:
Object
  • Object
show all
Defined in:
lib/active_rdf/queryengine/query2jars2.rb

Overview

Translates abstract query into jars2 query. (ignores ASK queries)

Class Method Summary collapse

Class Method Details

.translate(query) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/active_rdf/queryengine/query2jars2.rb', line 6

def self.translate(query)
  str = ""
  if query.select?
    # concatenate each where clause using space: s p o
    # and then concatenate the clauses using dot: s p o . s2 p2 o2 .
    str << "#{query.where_clauses.collect{|w| w.collect{|w| '?'+w.to_s}.join(' ')}.join(" .\n")} ."
    # TODO: should we maybe reverse the order on the where_clauses? it depends 
    # on Andreas' answer of the best order to give to jars2. Users would 
    # probably put the most specific stuff first, and join to get the 
    # interesting information. Maybe we should not touch it and let the user 
    # figure it out.
  end
  
  $activerdflog.debug "Query2Jars2: translated #{query} to #{str}"
  return str
end