Class: TurtleReader
- Inherits:
-
Object
- Object
- TurtleReader
- Includes:
- Enumerable
- Defined in:
- lib/turtle_reader.rb,
lib/turtle_reader/version.rb
Defined Under Namespace
Modules: Version
Constant Summary collapse
- NS =
RDF::Vocabulary.inject({}) { |h, v| h[v.__prefix__] = v; h }
- VERSION =
Version.to_s
Instance Attribute Summary collapse
-
#base ⇒ Object
readonly
Returns the value of attribute base.
-
#file ⇒ Object
Returns the value of attribute file.
-
#map ⇒ Object
Returns the value of attribute map.
-
#prefixes ⇒ Object
readonly
Returns the value of attribute prefixes.
-
#reader ⇒ Object
readonly
Returns the value of attribute reader.
Class Method Summary collapse
Instance Method Summary collapse
- #closed? ⇒ Boolean
- #each ⇒ Object
- #each_statement(&block) ⇒ Object
-
#initialize(reader, map = true) ⇒ TurtleReader
constructor
A new instance of TurtleReader.
- #inspect ⇒ Object
- #statements ⇒ Object
Constructor Details
#initialize(reader, map = true) ⇒ TurtleReader
Returns a new instance of TurtleReader.
57 58 59 60 |
# File 'lib/turtle_reader.rb', line 57 def initialize(reader, map = true) @reader, @base, @prefixes = reader, *reader.parse_prologue self.map = map end |
Instance Attribute Details
#base ⇒ Object (readonly)
Returns the value of attribute base.
62 63 64 |
# File 'lib/turtle_reader.rb', line 62 def base @base end |
#file ⇒ Object
Returns the value of attribute file.
64 65 66 |
# File 'lib/turtle_reader.rb', line 64 def file @file end |
#map ⇒ Object
Returns the value of attribute map.
62 63 64 |
# File 'lib/turtle_reader.rb', line 62 def map @map end |
#prefixes ⇒ Object (readonly)
Returns the value of attribute prefixes.
62 63 64 |
# File 'lib/turtle_reader.rb', line 62 def prefixes @prefixes end |
#reader ⇒ Object (readonly)
Returns the value of attribute reader.
62 63 64 |
# File 'lib/turtle_reader.rb', line 62 def reader @reader end |
Class Method Details
.foreach(file, *args, &block) ⇒ Object
51 52 53 |
# File 'lib/turtle_reader.rb', line 51 def foreach(file, *args, &block) open(file, *args) { |turtle| turtle.each(&block) } end |
.open(file, *args) ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/turtle_reader.rb', line 42 def open(file, *args) RDF::Reader.open(file, format: :ttl) { |reader| turtle = new(reader, *args) turtle.file = File.(file) return block_given? ? yield(turtle) : turtle } end |
Instance Method Details
#closed? ⇒ Boolean
107 108 109 |
# File 'lib/turtle_reader.rb', line 107 def closed? reader.closed? end |
#each ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File 'lib/turtle_reader.rb', line 93 def each return enum_for(:each) unless block_given? uri, map, base = RDF::URI, self.map, self.base each_statement { |t| s, p, o = *t if s.is_a?(uri) and k = map[p] and s.start_with?(base) yield s, o, k end } end |
#each_statement(&block) ⇒ Object
87 88 89 90 91 |
# File 'lib/turtle_reader.rb', line 87 def each_statement(&block) return enum_for(:each_statement) unless block_given? reader.parse_statements(&block) self end |
#inspect ⇒ Object
111 112 113 114 115 |
# File 'lib/turtle_reader.rb', line 111 def inspect '#<%s:0x%x @file=%p, @base=%p%s>' % [ self.class, object_id, file, base, closed? ? ' (closed)' : '' ] end |
#statements ⇒ Object
83 84 85 |
# File 'lib/turtle_reader.rb', line 83 def statements each_statement.to_a end |