lib/sxp/reader/sparql.rb in sxp-1.1.0 vs lib/sxp/reader/sparql.rb in sxp-1.2.0

- old
+ new

@@ -1,15 +1,15 @@ # -*- encoding: utf-8 -*- -require 'rdf' # @see http://rubygems.org/gems/rdf +require 'rdf' # @see https:/rubygems.org/gems/rdf module SXP; class Reader ## # A SPARQL Syntax Expressions (SSE) parser. # - # Requires [RDF.rb](http://rdf.rubyforge.org/). + # Requires [RDF.rb](https:/rubygems.org/gems/rdf/). # - # @see http://openjena.org/wiki/SSE + # @see https:/openjena.org/wiki/SSE class SPARQL < Extended # Alias for rdf:type A = /^a$/ # Base token, causes next URI to be treated as the `base_uri` for further URI expansion BASE = /^base$/i @@ -81,16 +81,16 @@ end end end ## - # Reads SSE Tokens, including {RDF::Literal}, {RDF::URI} and RDF::Node. + # Reads SSE Tokens, including `RDF::Literal`, `RDF::URI` and `RDF::Node`. # # Performs forward reference for prefix and base URI representations and saves in # {#base_uri} and {#prefixes} accessors. # - # Transforms tokens matching a {PNAME} pattern into {RDF::URI} instances if a match is + # Transforms tokens matching a {PNAME} pattern into `RDF::URI` instances if a match is # found with a previously identified {PREFIX}. # @return [Object] def read_token case peek_char when ?" then [:atom, read_rdf_literal] # " @@ -127,12 +127,10 @@ #STDERR.puts "read_tok lexical: pfx: #{$1.inspect} => #{prefix($1).inspect}, sfx: #{suffix.inspect}" suffix = suffix.sub(/^\#/, "") if base.to_s.index("#") uri = RDF::URI(base.to_s + suffix) #STDERR.puts "read_tok lexical uri: #{uri.inspect}" - # Cause URI to be serialized as a lexical - uri.lexical = value [:atom, uri] else tok end else @@ -182,13 +180,11 @@ end skip_char # '>' # If we have a base URI, use that when constructing a new URI uri = if self.base_uri && RDF::URI(buffer).relative? - u = self.base_uri.join(buffer) - u.lexical = "<#{buffer}>" unless u.to_s == buffer # So that it can be re-serialized properly - u + self.base_uri.join(buffer) else RDF::URI(buffer) end # If we previously parsed a "BASE" element, then this URI is used to set that value @@ -209,10 +205,10 @@ ## # Reads an SSE Atom # # Atoms parsed including `base`, `prefix`, `true`, `false`, numeric, BNodes and variables. # - # Creates {RDF::Literal}, RDF::Node, or {RDF::Query::Variable} instances where appropriate. + # Creates `RDF::Literal`, `RDF::Node`, or `RDF::Query::Variable` instances where appropriate. # # @return [Object] def read_atom case buffer = read_literal when '.' then buffer.to_sym