app/views/search_results/index.iqrdf
RdfNamespacesHelper.instance_methods.each do |meth|
namespaces = send(meth)
document.namespaces(namespaces) if namespaces.is_a?(Hash)
end
document.namespaces(
:search => url_for(request.query_parameters.merge(:page => @results && @results.current_page, :lang => nil, :only_path => false, :anchor => "")),
:sdc => "http://sindice.com/vocab/search#"
)
document << IqRdf.build_full_uri_subject(URI.parse(url_for(request.query_parameters.merge(:page => nil, :lang => nil, :only_path => false))), IqRdf::Sdc::build_uri('Query')) do |query|
query.Sdc::totalResults(@results.total_count)
query.Sdc::itemsPerPage(@results.limit_value)
query.Sdc::searchTerms(params[:query])
query.Sdc::first(URI.parse(url_for(request.query_parameters.merge(:page => 1, :lang => nil, :only_path => false))))
query.Sdc::last(URI.parse(url_for(request.query_parameters.merge(:page => @results.total_pages, :lang => nil, :only_path => false))))
i = 0
@results.each do
query.Sdc::result(IqRdf::Search::build_uri("result#{i+=1}"))
end
end
document << IqRdf.build_full_uri_subject(URI.parse(url_for(request.query_parameters.merge(:page => @results.current_page, :lang => nil, :only_path => false))), IqRdf::Sdc::build_uri('Page')) do |page|
page.Sdc::startIndex((@results.current_page - 1) * @results.limit_value + 1)
page.Sdc::previous(URI.parse(url_for(request.query_parameters.merge(:page => @results.current_page - 1, :lang => nil, :only_path => false)))) if @results.current_page > 1
page.Sdc::next(URI.parse(url_for(request.query_parameters.merge(:page => @results.current_page + 1, :lang => nil, :only_path => false)))) if @results.current_page < @results.total_pages
end
i = 0
@results.each do |result|
document << IqRdf::Search::build_uri("result#{i+=1}", IqRdf::Sdc::build_uri('Result')) do |result_node|
result.build_search_result_rdf(document, result_node)
end
end