class RDF::N3::Algebra::Str::Scrape
The subject is a list of two strings. The second string is a regular expression in the perl, python style. It must contain one group (a part in parentheses). If the first string in the list matches the regular expression, then the object is calculated as being the part of the first string which matches the group.
@example
("abcdef" "ab(..)ef") string:scrape "cd"
Constants
- NAME
- URI
Public Instance Methods
Source
# File lib/rdf/n3/algebra/str/scrape.rb, line 15 def resolve(list) input, regex = list.to_a md = Regexp.new(regex.to_s).match(input.to_s) RDF::Literal(md[1]) if md end
@param [RDF::N3::List] list @return [RDF::Term] @see RDF::N3::ListOperator#evaluate
Source
# File lib/rdf/n3/algebra/str/scrape.rb, line 26 def validate(list) if super && list.length == 2 true else log_error(NAME) {"list must have exactly two entries: #{list.to_sxp}"} false end end
Subclasses may override or supplement validate to perform validation on the list subject
@param [RDF::N3::List] list @return [Boolean]
Calls superclass method
RDF::N3::Algebra::ListOperator#validate