Sha256: 972fdd2bd5b1eac3f1cf89ded81ca619bba2f8f3349054c6ce6268a70cd449ed
Contents?: true
Size: 1.23 KB
Versions: 4
Compression:
Stored size: 1.23 KB
Contents
module RDF::N3::Algebra::Log ## # The subject string, parsed as N3, gives this formula. class ParsedAsN3 < RDF::N3::Algebra::ResourceOperator NAME = :logParsedAsN3 URI = RDF::N3::Log.parsedAsN3 ## # Parses the subject into a new formula. # # Returns nil if resource does not validate, given its position # # @param [RDF::N3::List] resource # @return [RDF::Term] def resolve(resource, position: :subject) case position when :subject return nil unless resource.literal? begin repo = RDF::N3::Repository.new repo << RDF::N3::Reader.new(resource.to_s, **@options.merge(list_terms: true, logger: false)) log_debug("logParsedAsN3") {SXP::Generator.string repo.statements.to_sxp_bin} content_hash = resource.hash # used as name of resulting formula form = RDF::N3::Algebra::Formula.from_enumerable(repo, graph_name: RDF::Node.intern(content_hash)) log_info(NAME) {"form hash (#{resource}): #{form.hash}"} form rescue RDF::ReaderError nil end when :object return nil unless resource.literal? || resource.is_a?(RDF::Query::Variable) resource end end end end
Version data entries
4 entries across 4 versions & 1 rubygems