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