lib/sxp/reader/sparql.rb in sxp-0.0.11 vs lib/sxp/reader/sparql.rb in sxp-0.0.12

- old
+ new

@@ -6,10 +6,12 @@ # # Requires [RDF.rb](http://rdf.rubyforge.org/). # # @see http://openjena.org/wiki/SSE class SPARQL < Extended + FALSE = /^false$/i + TRUE = /^true$/i EXPONENT = /[eE][+-]?[0-9]+/ DECIMAL = /^[+-]?(\d*)?\.\d*#{EXPONENT}?$/ BNODE_ID = /^_:([A-Za-z][A-Za-z0-9]*)/ # FIXME BNODE_NEW = /^_:$/ VAR_ID = /^\?([A-Za-z][A-Za-z0-9]*)/ # FIXME @@ -60,9 +62,11 @@ ## # @return [Object] def read_atom case buffer = read_literal when '.' then buffer.to_sym + when FALSE then RDF::Literal(false) + when TRUE then RDF::Literal(true) when DECIMAL then RDF::Literal(Float(buffer[-1].eql?(?.) ? buffer + '0' : buffer)) when INTEGER then RDF::Literal(Integer(buffer)) when BNODE_ID then RDF::Node($1) when BNODE_NEW then RDF::Node.new when VAR_ID then RDF::Query::Variable.new($1)