class RDF::N3::Algebra::Log::N3String

The subject formula, expressed as N3, gives this string.

Constants

NAME
URI

Public Instance Methods

resolve(resource, position: :subject) click to toggle source

Serializes the subject formula into an N3 string representation.

@param [RDF::N3::List] resource @return [RDF::Term]

# File lib/rdf/n3/algebra/log/n3_string.rb, line 13
def resolve(resource, position: :subject)
  case position
  when :subject
    return nil unless resource.formula?
    as_literal(RDF::N3::Writer.buffer {|w| resource.each {|st| w << st}})
  when :object
    return nil unless resource.literal? || resource.variable?
    resource
  end
end
valid?(subject, object) click to toggle source

Subject must evaluate to a formula and object to a literal.

@param [RDF::Term] subject @param [RDF::Term] object @return [Boolean]

# File lib/rdf/n3/algebra/log/n3_string.rb, line 30
def valid?(subject, object)
  subject.formula? && (object.variable? || object.literal?)
end