annotate sparql-7785ad38967f/sparql/spec/executor_spec.rb @ 0:46996d3b1cfb default tip

Uploaded
author greg
date Tue, 13 Mar 2012 16:29:09 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
46996d3b1cfb Uploaded
greg
parents:
diff changeset
1 # -*- coding: utf-8 -*-
46996d3b1cfb Uploaded
greg
parents:
diff changeset
2 require File.expand_path('../executor', File.dirname(__FILE__))
46996d3b1cfb Uploaded
greg
parents:
diff changeset
3
46996d3b1cfb Uploaded
greg
parents:
diff changeset
4 describe SPARQLExecutor, "は" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
5 include GalaxyTool::Matcher
46996d3b1cfb Uploaded
greg
parents:
diff changeset
6
46996d3b1cfb Uploaded
greg
parents:
diff changeset
7 before do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
8 @tool = SPARQLExecutor.new
46996d3b1cfb Uploaded
greg
parents:
diff changeset
9 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
10
46996d3b1cfb Uploaded
greg
parents:
diff changeset
11 it "SPARQLエンドポイント指定として '-e' オプションを受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
12 @tool.should accept_option_with_argument(:endpoint, '-e')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
13 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
14 it "SPARQLエンドポイント指定として '--endpoint' オプションを受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
15 @tool.should accept_option_with_argument(:endpoint, '--endpoint')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
16 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
17 it "'--endpoint' オプションを、前後空白を無視して受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
18 @tool.should evaluate_option('--endpoint', " http://example.com/endpoint\n", "http://example.com/endpoint")
46996d3b1cfb Uploaded
greg
parents:
diff changeset
19 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
20 it "クエリ指定は必須である" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
21 @tool.should require_option(:endpoint)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
22 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
23
46996d3b1cfb Uploaded
greg
parents:
diff changeset
24 it "クエリ指定として '-q' オプションを受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
25 @tool.should accept_option_with_argument(:query, '-q')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
26 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
27 it "クエリ指定として '--query' オプションを受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
28 @tool.should accept_option_with_argument(:query, '--query')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
29 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
30 it "クエリ指定として '--query-file' オプションを受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
31 @tool.should accept_option_with_argument(:query, '--query-file')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
32 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
33 it "'--query-file' オプションを、クエリが書かれたファイルのパスとして受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
34 @tool.should evaluate_option('--query-file', stub_file("p53\n").path, 'p53')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
35 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
36 it "クエリ指定は必須である" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
37 @tool.should require_option(:query)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
38 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
39
46996d3b1cfb Uploaded
greg
parents:
diff changeset
40 it "出力先指定として '-o' オプションを受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
41 @tool.should accept_option_with_argument(:output, '-o')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
42 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
43 it "出力先指定として '--output' オプションを受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
44 @tool.should accept_option_with_argument(:output, '--output')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
45 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
46 it "出力先指定は必須である" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
47 @tool.should require_option(:output)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
48 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
49
46996d3b1cfb Uploaded
greg
parents:
diff changeset
50 it "Info出力先指定として '--info' オプションを受けつける" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
51 @tool.should accept_option_with_argument(:info, '--info')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
52 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
53 it "Info出力先の規定値は標準出力である" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
54 @tool.should set_default_option_value(:info, '/dev/stdout')
46996d3b1cfb Uploaded
greg
parents:
diff changeset
55 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
56
46996d3b1cfb Uploaded
greg
parents:
diff changeset
57 describe "エンドポイント、クエリ、出力先を指定して実行すると" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
58 before do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
59 @tool.should_receive(:search).and_return do |client, query|
46996d3b1cfb Uploaded
greg
parents:
diff changeset
60 client.should_receive(:parsed_xml) do |parse|
46996d3b1cfb Uploaded
greg
parents:
diff changeset
61 REXML::Document.new(<<-EOT).root
46996d3b1cfb Uploaded
greg
parents:
diff changeset
62 <?xml version="1.0" ?>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
63 <sparql xmlns="http://www.w3.org/2005/sparql-results#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/sw/DataAccess/rf1/result2.xsd">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
64 <head>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
65 <variable name="s"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
66 <variable name="p"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
67 <variable name="o"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
68 </head>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
69 <results distinct="false" ordered="true">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
70 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
71 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
72 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
73 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (__id2in (^{tree}^))</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
74 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
75 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
76 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
77 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
78 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (^{tree}^)</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
79 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
80 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
81 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
82 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
83 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (^{tree}^)</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
84 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
85 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
86 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
87 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
88 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (__ro2sq /*l*/ (^{tree}^))</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
89 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
90 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
91 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-dt</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
92 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfSqlvalTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
93 <binding name="o"><literal> ^{sqlval-of-tree}^^{as-name-0}^^{comma-cut}^NULL^{as-name-1}^</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
94 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
95 </results>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
96 </sparql>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
97 EOT
46996d3b1cfb Uploaded
greg
parents:
diff changeset
98 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
99
46996d3b1cfb Uploaded
greg
parents:
diff changeset
100 client.query(query)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
101 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
102
46996d3b1cfb Uploaded
greg
parents:
diff changeset
103 @url = "http://www.semantic-systems-biology.org/biogateway/endpoint"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
104 @query = "select * where { ?s ?p ?o . } limit 5"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
105 @info = stub_stdout
46996d3b1cfb Uploaded
greg
parents:
diff changeset
106 @output = stub_file
46996d3b1cfb Uploaded
greg
parents:
diff changeset
107 @tool.run ["-q", @query, "-e", @url, "-o", @output.path]
46996d3b1cfb Uploaded
greg
parents:
diff changeset
108 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
109
46996d3b1cfb Uploaded
greg
parents:
diff changeset
110 it "SPARQL検索を行い、ID、URL、タイトル、ランクをタブ区切りで表示する" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
111 @output.should be_output(<<-EOT)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
112 ?s ?p ?o
46996d3b1cfb Uploaded
greg
parents:
diff changeset
113 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl> " ^{custom-verbatim-1}^_INVERSE (__id2in (^{tree}^))"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
114 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl> " ^{custom-verbatim-1}^_INVERSE (^{tree}^)"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
115 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl> " ^{custom-verbatim-1}^_INVERSE (^{tree}^)"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
116 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl> " ^{custom-verbatim-1}^_INVERSE (__ro2sq /*l*/ (^{tree}^))"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
117 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-dt> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfSqlvalTmpl> " ^{sqlval-of-tree}^^{as-name-0}^^{comma-cut}^NULL^{as-name-1}^"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
118 EOT
46996d3b1cfb Uploaded
greg
parents:
diff changeset
119 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
120 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
121
46996d3b1cfb Uploaded
greg
parents:
diff changeset
122 describe "結果の途中に改行のテキストノードを含むレスポンスを得るようなエンドポイントに対するクエリだったとしても" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
123 before do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
124 @tool.should_receive(:search).and_return do |client, query|
46996d3b1cfb Uploaded
greg
parents:
diff changeset
125 client.should_receive(:parsed_xml) do |parse|
46996d3b1cfb Uploaded
greg
parents:
diff changeset
126 REXML::Document.new(<<-EOT).root
46996d3b1cfb Uploaded
greg
parents:
diff changeset
127 <?xml version="1.0" ?>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
128 <sparql xmlns="http://www.w3.org/2005/sparql-results#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/sw/DataAccess/rf1/result2.xsd">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
129 <head>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
130 <variable name="s"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
131 <variable name="p"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
132 <variable name="o"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
133 </head>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
134 <results distinct="false" ordered="true">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
135 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
136 <binding name="s">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
137 <uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn</uri>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
138 </binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
139 <binding name="p">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
140 <uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl</uri>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
141 </binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
142 <binding name="o">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
143 <literal> ^{custom-verbatim-1}^_INVERSE (__id2in (^{tree}^))</literal>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
144 </binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
145 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
146 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
147 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
148 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
149 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (^{tree}^)</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
150 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
151 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
152 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
153 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
154 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (^{tree}^)</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
155 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
156 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
157 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
158 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
159 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (__ro2sq /*l*/ (^{tree}^))</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
160 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
161 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
162 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-dt</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
163 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfSqlvalTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
164 <binding name="o"><literal> ^{sqlval-of-tree}^^{as-name-0}^^{comma-cut}^NULL^{as-name-1}^</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
165 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
166 </results>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
167 </sparql>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
168 EOT
46996d3b1cfb Uploaded
greg
parents:
diff changeset
169 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
170
46996d3b1cfb Uploaded
greg
parents:
diff changeset
171 client.query(query)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
172 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
173
46996d3b1cfb Uploaded
greg
parents:
diff changeset
174 @url = "http://www.semantic-systems-biology.org/biogateway/endpoint"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
175 @query = "select * where { ?s ?p ?o . } limit 5"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
176 @info = stub_stdout
46996d3b1cfb Uploaded
greg
parents:
diff changeset
177 @output = stub_file
46996d3b1cfb Uploaded
greg
parents:
diff changeset
178 @tool.run ["-q", @query, "-e", @url, "-o", @output.path]
46996d3b1cfb Uploaded
greg
parents:
diff changeset
179 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
180
46996d3b1cfb Uploaded
greg
parents:
diff changeset
181 it "SPARQL検索を行い、ID、URL、タイトル、ランクをタブ区切りで表示する" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
182 @output.should be_output(<<-EOT)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
183 ?s ?p ?o
46996d3b1cfb Uploaded
greg
parents:
diff changeset
184 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl> " ^{custom-verbatim-1}^_INVERSE (__id2in (^{tree}^))"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
185 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl> " ^{custom-verbatim-1}^_INVERSE (^{tree}^)"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
186 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl> " ^{custom-verbatim-1}^_INVERSE (^{tree}^)"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
187 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl> " ^{custom-verbatim-1}^_INVERSE (__ro2sq /*l*/ (^{tree}^))"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
188 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-dt> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfSqlvalTmpl> " ^{sqlval-of-tree}^^{as-name-0}^^{comma-cut}^NULL^{as-name-1}^"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
189 EOT
46996d3b1cfb Uploaded
greg
parents:
diff changeset
190 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
191 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
192
46996d3b1cfb Uploaded
greg
parents:
diff changeset
193 describe "Blank Nodeを含むレスポンスとなるクエリだったとしても" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
194 before do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
195 @tool.should_receive(:search).and_return do |client, query|
46996d3b1cfb Uploaded
greg
parents:
diff changeset
196 client.should_receive(:parsed_xml) do |parse|
46996d3b1cfb Uploaded
greg
parents:
diff changeset
197 REXML::Document.new(<<-EOT).root
46996d3b1cfb Uploaded
greg
parents:
diff changeset
198 <?xml version="1.0" ?>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
199 <sparql xmlns="http://www.w3.org/2005/sparql-results#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.w3.org/2001/sw/DataAccess/rf1/result2.xsd">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
200 <head>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
201 <variable name="s"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
202 <variable name="p"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
203 <variable name="o"/>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
204 </head>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
205 <results distinct="false" ordered="true">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
206 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
207 <binding name="s">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
208 <bnode>nodeID://b196899188</bnode>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
209 </binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
210 <binding name="p">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
211 <uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl</uri>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
212 </binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
213 <binding name="o">
46996d3b1cfb Uploaded
greg
parents:
diff changeset
214 <literal> ^{custom-verbatim-1}^_INVERSE (__id2in (^{tree}^))</literal>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
215 </binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
216 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
217 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
218 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
219 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
220 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (^{tree}^)</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
221 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
222 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
223 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
224 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
225 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (^{tree}^)</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
226 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
227 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
228 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
229 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
230 <binding name="o"><literal> ^{custom-verbatim-1}^_INVERSE (__ro2sq /*l*/ (^{tree}^))</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
231 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
232 <result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
233 <binding name="s"><uri>http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-dt</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
234 <binding name="p"><uri>http://www.openlinksw.com/schemas/virtrdf#qmfShortOfSqlvalTmpl</uri></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
235 <binding name="o"><literal> ^{sqlval-of-tree}^^{as-name-0}^^{comma-cut}^NULL^{as-name-1}^</literal></binding>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
236 </result>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
237 </results>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
238 </sparql>
46996d3b1cfb Uploaded
greg
parents:
diff changeset
239 EOT
46996d3b1cfb Uploaded
greg
parents:
diff changeset
240 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
241
46996d3b1cfb Uploaded
greg
parents:
diff changeset
242 client.query(query)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
243 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
244
46996d3b1cfb Uploaded
greg
parents:
diff changeset
245 @url = "http://www.semantic-systems-biology.org/biogateway/endpoint"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
246 @query = "select * where { ?s ?p ?o . } limit 5"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
247 @info = stub_stdout
46996d3b1cfb Uploaded
greg
parents:
diff changeset
248 @output = stub_file
46996d3b1cfb Uploaded
greg
parents:
diff changeset
249 @tool.run ["-q", @query, "-e", @url, "-o", @output.path]
46996d3b1cfb Uploaded
greg
parents:
diff changeset
250 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
251
46996d3b1cfb Uploaded
greg
parents:
diff changeset
252 it "SPARQL検索を行い、ID、URL、タイトル、ランクをタブ区切りで表示する" do
46996d3b1cfb Uploaded
greg
parents:
diff changeset
253 @output.should be_output(<<-EOT)
46996d3b1cfb Uploaded
greg
parents:
diff changeset
254 ?s ?p ?o
46996d3b1cfb Uploaded
greg
parents:
diff changeset
255 _:nodeID://b196899188 <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl> " ^{custom-verbatim-1}^_INVERSE (__id2in (^{tree}^))"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
256 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-uri-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl> " ^{custom-verbatim-1}^_INVERSE (^{tree}^)"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
257 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfUriTmpl> " ^{custom-verbatim-1}^_INVERSE (^{tree}^)"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
258 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-literal-fn> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfLongTmpl> " ^{custom-verbatim-1}^_INVERSE (__ro2sq /*l*/ (^{tree}^))"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
259 <http://www.openlinksw.com/virtrdf-data-formats#sql-varchar-dt> <http://www.openlinksw.com/schemas/virtrdf#qmfShortOfSqlvalTmpl> " ^{sqlval-of-tree}^^{as-name-0}^^{comma-cut}^NULL^{as-name-1}^"
46996d3b1cfb Uploaded
greg
parents:
diff changeset
260 EOT
46996d3b1cfb Uploaded
greg
parents:
diff changeset
261 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
262 end
46996d3b1cfb Uploaded
greg
parents:
diff changeset
263
46996d3b1cfb Uploaded
greg
parents:
diff changeset
264 end