Class: BEL::Extension::Format::RDFReader::UnbufferedEvidenceYielder
- Inherits:
-
Object
- Object
- BEL::Extension::Format::RDFReader::UnbufferedEvidenceYielder
- Includes:
- EvidenceYielder
- Defined in:
- lib/bel/extensions/rdf/rdf.rb
Constant Summary
Constants included from EvidenceYielder
EvidenceYielder::BELV, EvidenceYielder::RDF, EvidenceYielder::RDFS
Constants included from Quoting
Quoting::KeywordMatcher, Quoting::NonWordMatcher
Instance Method Summary collapse
- #each ⇒ Object
-
#initialize(data, format = :ntriples) ⇒ UnbufferedEvidenceYielder
constructor
A new instance of UnbufferedEvidenceYielder.
Methods included from EvidenceYielder
#describe, #evidence_yielder, #make_evidence, #resources_of_type
Methods included from Quoting
#always_quote, #ensure_quotes, #quotes_required?, #remove_quotes
Constructor Details
#initialize(data, format = :ntriples) ⇒ UnbufferedEvidenceYielder
Returns a new instance of UnbufferedEvidenceYielder.
491 492 493 494 |
# File 'lib/bel/extensions/rdf/rdf.rb', line 491 def initialize(data, format = :ntriples) @data = data @format = format end |
Instance Method Details
#each ⇒ Object
496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 |
# File 'lib/bel/extensions/rdf/rdf.rb', line 496 def each if block_given? graph = RUBYRDF::Graph.new evidence_resource = nil RUBYRDF::Reader.for(@format).new(@data) do |reader| reader.each_statement do |statement| case when statement.object == BELV.Evidence && statement.predicate == RDF.type evidence_resource = statement.subject when evidence_resource && statement.predicate != BELV.hasEvidence && statement.subject != evidence_resource # yield current graph as evidence model yield make_evidence( describe(evidence_resource, graph), graph ) # reset parse state graph.clear evidence_resource = nil # insert this RDF statement graph << statement else graph << statement end end end # yield last graph as evidence model yield make_evidence( describe(evidence_resource, graph), graph ) else to_enum(:each) end end |