/
test_query2jars2.rb
51 lines (41 loc) · 1.44 KB
/
test_query2jars2.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Author:: Eyal Oren
# Copyright:: (c) 2005-2006
# License:: LGPL
require 'test/unit'
require 'active_rdf'
require 'active_rdf/query/query2jars2'
require 'test_helper'
class TestQuery2Jars2 < Test::Unit::TestCase
def setup
end
def teardown
end
def test_sparql_generation
# TODO: write tests for distinct, ask
query = Query.new
query.select(:s)
query.where(:s, RDFS::Resource.new('predicate'), '30')
generated = Query2SPARQL.translate(query)
expected = "SELECT ?s WHERE { ?s <predicate> \"30\"^^<http://www.w3.org/2001/XMLSchema#string> . } "
assert_equal expected, generated
query = Query.new
query.select(:s)
query.where(:s, RDFS::Resource.new('foaf:age'), :a)
query.where(:a, RDFS::Resource.new('rdf:type'), RDFS::Resource.new('xsd:int'))
generated = Query2SPARQL.translate(query)
expected = "SELECT ?s WHERE { ?s <foaf:age> ?a. ?a <rdf:type> <xsd:int> . } "
assert_equal expected, generated
# query = Query.new
# query.select(:s).select(:a)
# query.where(:s, 'foaf:age', :a)
# generated = Query2SPARQL.translate(query)
# expected = "SELECT DISTINCT ?s ?a WHERE { ?s foaf:age ?a .}"
# assert_equal expected, generated
end
def test_query_omnipotent
# can define multiple select clauses at once or separately
q1 = Query.new.select(:s,:a)
q2 = Query.new.select(:s).select(:a)
assert_equal Query2SPARQL.translate(q1),Query2SPARQL.translate(q2)
end
end