rdf-raptor 0.4.2 → 1.0.0.beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,143 @@
1
+ module RDF::Raptor::FFI::V2
2
+ ##
3
+ # @see http://librdf.org/raptor/api-1.4/raptor-section-triples.html
4
+ class Statement < ::FFI::Struct
5
+ include RDF::Raptor::FFI
6
+ layout :world, :pointer,
7
+ :usage, :int,
8
+ :subject, :pointer,
9
+ :predicate, :pointer,
10
+ :object, :pointer,
11
+ :graph, :pointer
12
+
13
+ ##
14
+ # @param [FFI::Pointer] ptr
15
+ # @param [#create_node] factory
16
+ def initialize(ptr = nil, factory = nil)
17
+ super(ptr)
18
+ @factory = factory if factory
19
+ end
20
+
21
+ ##
22
+ # Releases `libraptor` memory associated with this structure.
23
+ #
24
+ # @return [void]
25
+ def release
26
+ V2.raptor_free_statement(ptr) unless ptr.null?
27
+ end
28
+
29
+ # @return [Object]
30
+ attr_accessor :id
31
+
32
+ # @return [RDF::Resource]
33
+ attr_accessor :context
34
+
35
+ ##
36
+ # @return [RDF::Resource]
37
+ def subject
38
+ @subject ||= V2::Term.new(self[:subject], @factory).value
39
+ end
40
+
41
+ ##
42
+ # Sets the subject term from an `RDF::Resource`.
43
+ #
44
+ # @param [RDF::Resource] value
45
+ # @return [void]
46
+ def subject=(resource)
47
+ @subject = nil
48
+ case resource
49
+ when RDF::Node
50
+ self[:subject] = V2.raptor_new_term_from_blank(V2.world, resource.id.to_s)
51
+ when RDF::URI
52
+ self[:subject] = V2.raptor_new_term_from_uri_string(V2.world, resource.to_s)
53
+ else
54
+ raise ArgumentError, "subject term must be an RDF::Node or RDF::URI"
55
+ end
56
+ @subject = resource
57
+ end
58
+
59
+ ##
60
+ # @return [RDF::URI]
61
+ def predicate
62
+ @predicate ||= V2::Term.new(self[:predicate], @factory).value
63
+ end
64
+
65
+ ##
66
+ # Sets the predicate term from an `RDF::URI`.
67
+ #
68
+ # @param [RDF::URI] value
69
+ # @return [void]
70
+ def predicate=(uri)
71
+ @predicate = nil
72
+ raise ArgumentError, "predicate term must be an RDF::URI" unless uri.is_a?(RDF::URI)
73
+ self[:predicate] = V2.raptor_new_term_from_uri_string(V2.world, uri.to_s)
74
+ @predicate = uri
75
+ end
76
+
77
+ ##
78
+ # @return [RDF::Term]
79
+ def object
80
+ @object ||= V2::Term.new(self[:object], @factory).value
81
+ end
82
+
83
+ ##
84
+ # Sets the object term from an `RDF::Term`.
85
+ #
86
+ # The value must be one of `RDF::Resource` or `RDF::Literal`.
87
+ #
88
+ # @param [RDF::Term] value
89
+ # @return [void]
90
+ def object=(value)
91
+ @object = nil
92
+ case value
93
+ when RDF::Node
94
+ self[:object] = V2.raptor_new_term_from_blank(V2.world, value.id.to_s)
95
+ when RDF::URI
96
+ self[:object] = V2.raptor_new_term_from_uri_string(V2.world, value.to_s)
97
+ when RDF::Literal
98
+ self[:object] = V2.raptor_new_term_from_literal(V2.world, value.to_s,
99
+ value.datatype? ? V2.raptor_new_uri(value.datatype.to_s) : nil,
100
+ value.language? ? V2.raptor_new_string(value.language.to_s) : nil)
101
+ else
102
+ raise ArgumentError, "object term must be an RDF::Node, RDF::URI, or RDF::Literal"
103
+ end
104
+ @object = value
105
+ end
106
+
107
+ ##
108
+ # @return [Array(RDF::Resource, RDF::URI, RDF::Term)]
109
+ # @see RDF::Statement#to_triple
110
+ def to_triple
111
+ [subject, predicate, object]
112
+ end
113
+
114
+ ##
115
+ # @return [Array(RDF::Resource, RDF::URI, RDF::Term, nil)]
116
+ # @see RDF::Statement#to_quad
117
+ def to_quad
118
+ [subject, predicate, object, context]
119
+ end
120
+
121
+ ##
122
+ # @return [RDF::Statement]
123
+ def to_rdf
124
+ RDF::Statement.new(subject, predicate, object, :context => context)
125
+ end
126
+
127
+ ##
128
+ # @return [void]
129
+ def reset!
130
+ @subject = @predicate = @object = @context = nil
131
+ end
132
+
133
+ ##
134
+ # Releases `libraptor` memory associated with this structure.
135
+ #
136
+ # @return [void]
137
+ def free
138
+ V2.raptor_free_statement(self)
139
+ @subject = @predicate = @object = nil # Allow GC to start
140
+ end
141
+ alias_method :release, :free
142
+ end # Statement
143
+ end # RDF::Raptor::FFI::V2
@@ -0,0 +1,95 @@
1
+ module RDF::Raptor::FFI::V2
2
+ ##
3
+ # @see http://librdf.org/raptor/api-1.4/raptor-section-triples.html
4
+ class Term < ::FFI::Struct
5
+ include RDF::Raptor::FFI
6
+
7
+ class LiteralValue < ::FFI::Struct
8
+ include RDF::Raptor::FFI
9
+
10
+ layout :string, :string,
11
+ :string_len, :int,
12
+ :datatype, :pointer,
13
+ :language, :string,
14
+ :language_len, :char
15
+
16
+ def to_str
17
+ self[:string].unpack('U*').pack('U*')
18
+ end
19
+
20
+ def language
21
+ unless self[:language].nil? or self[:language].empty?
22
+ self[:language]
23
+ end
24
+ end
25
+
26
+ def datatype
27
+ if self[:datatype] && !self[:datatype].null?
28
+ RDF::URI.intern(V2.raptor_uri_to_string(self[:datatype]))
29
+ end
30
+ end
31
+
32
+ def to_rdf
33
+ str = self.to_str
34
+ case
35
+ when language = self.language
36
+ RDF::Literal.new(str, :language => language)
37
+ when datatype = self.datatype
38
+ RDF::Literal.new(str, :datatype => datatype)
39
+ else
40
+ RDF::Literal.new(str)
41
+ end
42
+ end
43
+ end
44
+
45
+ class BlankValue < ::FFI::Struct
46
+ layout :string, :string,
47
+ :string_len, :int
48
+
49
+ def to_str
50
+ self[:string]
51
+ end
52
+ end
53
+
54
+ class Value < ::FFI::Union
55
+ include RDF::Raptor::FFI
56
+
57
+ layout :uri, :pointer,
58
+ :literal, LiteralValue,
59
+ :blank, BlankValue
60
+ end
61
+
62
+ layout :world, :pointer,
63
+ :usage, :int,
64
+ :type, :int,
65
+ :value, Value
66
+ ##
67
+ # @param [FFI::Pointer] ptr
68
+ # @param [#create_node] factory
69
+ def initialize(ptr = nil, factory = nil)
70
+ super(ptr)
71
+ @factory = factory if factory
72
+ end
73
+
74
+ def value
75
+ case self[:type]
76
+ when RAPTOR_TERM_TYPE_BLANK
77
+ @factory.create_node(self[:value][:blank].to_str)
78
+ when RAPTOR_TERM_TYPE_URI
79
+ @factory.create_uri(V2.raptor_uri_as_string(self[:value][:uri]))
80
+ when RAPTOR_TERM_TYPE_LITERAL
81
+ self[:value][:literal].to_rdf
82
+ end
83
+ end
84
+
85
+ ##
86
+ # Releases `libraptor` memory associated with this structure.
87
+ #
88
+ # @param [FFI::Pointer] ptr
89
+ # @return [void]
90
+ def release
91
+ V2.raptor_free_term(self) unless ptr.null?
92
+ end
93
+
94
+ end # Term
95
+ end # RDF::Raptor::FFI::V2
@@ -0,0 +1,111 @@
1
+ module RDF::Raptor::FFI::V2
2
+ ##
3
+ # Raptor has a `raptor_uri` class which must be used for manipulating and
4
+ # passing URI references. The default internal implementation uses `char*`
5
+ # strings for URIs, manipulating them and constructing them.
6
+ #
7
+ # @see http://librdf.org/raptor/api-1.4/raptor-section-uri.html
8
+ class URI < ::FFI::ManagedStruct
9
+ include RDF::Raptor::FFI
10
+ include RDF::Resource
11
+ layout :string, [:char, 1] # a safe dummy layout, since it is \0-terminated
12
+
13
+ ##
14
+ # @overload initialize(ptr)
15
+ # @param [FFI::Pointer] ptr
16
+ #
17
+ # @overload initialize(name)
18
+ # @param [RDF::URI, String] name
19
+ #
20
+ def initialize(ptr_or_name)
21
+ ptr = case ptr_or_name
22
+ when FFI::Pointer then ptr_or_name
23
+ when RDF::URI then V2.raptor_new_uri(V2.world, ptr_or_name.to_s)
24
+ when String then V2.raptor_new_uri(V2.world, ptr_or_name)
25
+ else nil
26
+ end
27
+ raise ArgumentError, "invalid argument: #{ptr_or_name.inspect}" if ptr.nil? || ptr.null?
28
+ super(ptr)
29
+ end
30
+
31
+ ##
32
+ # Releases `libraptor` memory associated with this structure.
33
+ #
34
+ # @param [FFI::Pointer] ptr
35
+ # @return [void]
36
+ def self.release(ptr)
37
+ V2.raptor_free_uri(ptr)
38
+ end
39
+
40
+ ##
41
+ # @return [Boolean] `true`
42
+ def uri?
43
+ true
44
+ end
45
+
46
+ ##
47
+ # @return [URI] a copy of `self`
48
+ def dup
49
+ copy = self.class.new(V2.raptor_uri_copy(self))
50
+ copy.taint if tainted?
51
+ copy
52
+ end
53
+
54
+ ##
55
+ # @return [URI] a copy of `self`
56
+ def clone
57
+ copy = self.class.new(V2.raptor_uri_copy(self))
58
+ copy.taint if tainted?
59
+ copy.freeze if frozen?
60
+ copy
61
+ end
62
+
63
+ ##
64
+ # @return [Integer]
65
+ def length
66
+ LibC.strlen(self)
67
+ end
68
+ alias_method :size, :length
69
+
70
+ ##
71
+ # @return [Boolean] `true` or `false`
72
+ def ==(other)
73
+ return true if self.equal?(other)
74
+ case other
75
+ when self.class
76
+ !(V2.raptor_uri_equals(self, other).zero?)
77
+ when RDF::URI, String
78
+ to_str == other.to_str
79
+ else false
80
+ end
81
+ end
82
+ alias_method :===, :==
83
+
84
+ ##
85
+ # @return [Boolean] `true` or `false`
86
+ def eql?(other)
87
+ return true if self.equal?(other)
88
+ other.is_a?(self.class) && !(V2.raptor_uri_equals(self, other).zero?)
89
+ end
90
+
91
+ ##
92
+ # @return [Fixnum]
93
+ def hash
94
+ to_str.hash
95
+ end
96
+
97
+ ##
98
+ # @return [String] the URI string
99
+ def to_str
100
+ V2.raptor_uri_as_string(self)
101
+ end
102
+ alias_method :to_s, :to_str
103
+
104
+ ##
105
+ # @return [RDF::URI]
106
+ def to_rdf
107
+ RDF::URI.intern(to_str)
108
+ end
109
+ alias_method :to_uri, :to_rdf
110
+ end # URI
111
+ end # RDF::Raptor::FFI::V2
@@ -0,0 +1,20 @@
1
+ module RDF::Raptor::FFI::V2
2
+ class World < ::FFI::AutoPointer
3
+ include RDF::Raptor::FFI
4
+
5
+ def initialize()
6
+ ptr = V2.raptor_new_world_internal(V2.raptor_version_decimal)
7
+ super(ptr, self.class.method(:release))
8
+ end
9
+
10
+ ##
11
+ # Releases `libraptor` memory associated with this structure.
12
+ #
13
+ # @param [FFI::Pointer] ptr
14
+ # @return [void]
15
+ def self.release(ptr)
16
+ V2.raptor_free_world(ptr)
17
+ end
18
+
19
+ end # World
20
+ end # RDF::Raptor::FFI::V2
@@ -0,0 +1,156 @@
1
+ module RDF::Raptor::FFI
2
+ ##
3
+ # A foreign-function interface (FFI) to `libraptor` 2.x.
4
+ #
5
+ # @see http://librdf.org/raptor/libraptor.html
6
+ module V2
7
+ autoload :IOStream, 'rdf/raptor/ffi/v2/iostream'
8
+ autoload :IOStreamHandler, 'rdf/raptor/ffi/v2/iostream_handler'
9
+ autoload :Parser, 'rdf/raptor/ffi/v2/parser'
10
+ autoload :Serializer, 'rdf/raptor/ffi/v2/serializer'
11
+ autoload :Statement, 'rdf/raptor/ffi/v2/statement'
12
+ autoload :URI, 'rdf/raptor/ffi/v2/uri'
13
+ autoload :Term, 'rdf/raptor/ffi/v2/term'
14
+ autoload :World, 'rdf/raptor/ffi/v2/world'
15
+
16
+ extend ::FFI::Library
17
+ ffi_lib RDF::Raptor::LIBRAPTOR
18
+
19
+ # TODO: Ideally this would be an enum, but the JRuby FFI (as of
20
+ # version 1.4.0) has problems with enums as part of structs:
21
+ # `Unknown field type: #<FFI::Enum> (ArgumentError)`
22
+ RAPTOR_TERM_TYPE_UNKNOWN = 0
23
+ RAPTOR_TERM_TYPE_URI = 1
24
+ RAPTOR_TERM_TYPE_LITERAL = 2
25
+ RAPTOR_TERM_TYPE_BLANK = 4
26
+
27
+ # @see http://librdf.org/raptor/api/tutorial-initialising-finishing.html
28
+ typedef :pointer, :raptor_world
29
+ typedef :int, :raptor_version
30
+ attach_function :raptor_new_world_internal, [:raptor_version], :raptor_world
31
+ attach_function :raptor_free_world, [], :void
32
+ attach_function :raptor_alloc_memory, [:size_t], :pointer
33
+ attach_function :raptor_calloc_memory, [:size_t, :size_t], :pointer
34
+ attach_function :raptor_free_memory, [:pointer], :void
35
+
36
+ # @see http://librdf.org/raptor/api-1.4/raptor-section-locator.html
37
+ typedef :pointer, :raptor_locator
38
+ attach_function :raptor_locator_line, [:raptor_locator], :int
39
+ attach_function :raptor_locator_column, [:raptor_locator], :int
40
+ attach_function :raptor_locator_byte, [:raptor_locator], :int
41
+
42
+ # @see http://librdf.org/raptor/api/raptor2-section-general.html
43
+ attach_variable :raptor_version_string, :string
44
+ attach_variable :raptor_version_major, :int
45
+ attach_variable :raptor_version_minor, :int
46
+ attach_variable :raptor_version_release, :int
47
+ attach_variable :raptor_version_decimal, :int
48
+ callback :raptor_message_handler, [:pointer, :raptor_locator, :string], :void
49
+
50
+ # @see http://librdf.org/raptor/api-1.4/raptor-section-uri.html
51
+ typedef :pointer, :raptor_uri
52
+ attach_function :raptor_new_uri, [:raptor_world, :string], :raptor_uri
53
+ attach_function :raptor_uri_copy, [:raptor_uri], :raptor_uri
54
+ attach_function :raptor_uri_equals, [:raptor_uri, :raptor_uri], :int
55
+ attach_function :raptor_uri_as_string, [:raptor_uri], :string
56
+ attach_function :raptor_uri_to_string, [:raptor_uri], :string
57
+ attach_function :raptor_uri_print, [:raptor_uri, :pointer], :void
58
+ attach_function :raptor_free_uri, [:raptor_uri], :void
59
+
60
+ # @see http://librdf.org/raptor/api/raptor2-section-triples.html
61
+ typedef :int, :raptor_identifier_type
62
+ typedef :pointer, :raptor_identifier
63
+ typedef :pointer, :raptor_statement
64
+ attach_function :raptor_statement_compare, [:raptor_statement, :raptor_statement], :int
65
+ attach_function :raptor_statement_print, [:raptor_statement, :pointer], :void
66
+ attach_function :raptor_statement_print_as_ntriples, [:pointer, :pointer], :void
67
+ #attach_function :raptor_statement_part_as_string, [:pointer, :raptor_identifier_type, :raptor_uri, :pointer], :string
68
+ attach_function :raptor_free_statement, [:raptor_statement], :void
69
+ typedef :pointer, :raptor_term
70
+ typedef :string, :literal
71
+ typedef :pointer, :datatype
72
+ typedef :string, :language
73
+ typedef :string, :blank
74
+ attach_function :raptor_new_term_from_uri, [:raptor_world, :raptor_uri], :raptor_term
75
+ attach_function :raptor_new_term_from_uri_string, [:raptor_world, :string], :raptor_term
76
+ attach_function :raptor_new_term_from_literal, [:raptor_world, :literal, :datatype, :language], :raptor_term
77
+ attach_function :raptor_new_term_from_blank, [:raptor_world, :blank], :raptor_term
78
+ attach_function :raptor_free_term, [:raptor_term], :void
79
+
80
+ # @see http://librdf.org/raptor/api/raptor2-section-parser.html
81
+ callback :raptor_statement_handler, [:pointer, :raptor_statement], :void
82
+ typedef :pointer, :raptor_parser
83
+ typedef :string, :mime_type
84
+ typedef :string, :buffer
85
+ attach_function :raptor_new_parser, [:raptor_world, :string], :raptor_parser
86
+ attach_function :raptor_world_guess_parser_name, [:raptor_world, :raptor_uri, :mime_type, :buffer, :size_t, :string], :string
87
+ #attach_function :raptor_set_error_handler, [:raptor_parser, :pointer, :raptor_message_handler], :void
88
+ #attach_function :raptor_set_warning_handler, [:raptor_parser, :pointer, :raptor_message_handler], :void
89
+ attach_function :raptor_parser_set_statement_handler, [:raptor_parser, :pointer, :raptor_statement_handler], :void
90
+ attach_function :raptor_parser_parse_file, [:raptor_parser, :raptor_uri, :raptor_uri], :int
91
+ attach_function :raptor_parser_parse_file_stream, [:raptor_parser, :pointer, :string, :raptor_uri], :int
92
+ attach_function :raptor_parser_parse_uri, [:raptor_parser, :raptor_uri, :raptor_uri], :int
93
+ attach_function :raptor_parser_parse_start, [:raptor_parser, :raptor_uri], :int
94
+ attach_function :raptor_parser_parse_chunk, [:raptor_parser, :string, :size_t, :int], :int
95
+ #attach_function :raptor_get_mime_type, [:raptor_parser], :string
96
+ #attach_function :raptor_set_parser_strict, [:raptor_parser, :int], :void
97
+ #attach_function :raptor_get_need_base_uri, [:raptor_parser], :int
98
+ attach_function :raptor_parser_parse_abort, [], :void
99
+ attach_function :raptor_free_parser, [:raptor_parser], :void
100
+
101
+ # @see http://librdf.org/raptor/api/raptor2-section-iostream.html
102
+ typedef :pointer, :raptor_iostream
103
+ attach_function :raptor_new_iostream_from_handler, [:raptor_world, :pointer, :pointer], :raptor_iostream
104
+ attach_function :raptor_new_iostream_to_filename, [:raptor_world, :string], :raptor_iostream
105
+ attach_function :raptor_new_iostream_to_sink, [:raptor_world], :raptor_iostream
106
+ attach_function :raptor_free_iostream, [:raptor_iostream], :void
107
+ callback :raptor_iostream_init_func, [:pointer], :int
108
+ callback :raptor_iostream_finish_func, [:pointer], :void
109
+ callback :raptor_iostream_write_byte_func, [:pointer, :int], :int
110
+ callback :raptor_iostream_write_bytes_func, [:pointer, :pointer, :size_t, :size_t], :int
111
+ callback :raptor_iostream_write_end_func, [:pointer], :void
112
+ callback :raptor_iostream_read_bytes_func, [:pointer, :pointer, :size_t, :size_t], :int
113
+ callback :raptor_iostream_read_eof_func, [:pointer], :int
114
+
115
+ # @see http://librdf.org/raptor/api-1.4/raptor-section-xml-namespace.html
116
+ typedef :pointer, :raptor_namespace
117
+
118
+ # @see http://librdf.org/raptor/api/raptor2-section-serializer.html
119
+ typedef :pointer, :raptor_serializer
120
+ attach_function :raptor_new_serializer, [:raptor_world, :string], :raptor_serializer
121
+ attach_function :raptor_free_serializer, [:raptor_serializer], :void
122
+ attach_function :raptor_serializer_start_to_iostream, [:raptor_serializer, :raptor_uri, :raptor_iostream], :int
123
+ attach_function :raptor_serializer_start_to_filename, [:raptor_serializer, :string], :int
124
+ attach_function :raptor_serializer_serialize_statement, [:raptor_serializer, :raptor_statement], :int
125
+ attach_function :raptor_serializer_serialize_end, [:raptor_serializer], :int
126
+ #attach_function :raptor_serializer_set_error_handler, [:raptor_serializer, :pointer, :raptor_message_handler], :void
127
+ #attach_function :raptor_serializer_set_warning_handler, [:raptor_serializer, :pointer, :raptor_message_handler], :void
128
+
129
+ # Initialize the world.
130
+ # We do this exactly once and never release because we can't delegate
131
+ # any memory management to the Ruby GC.
132
+ # Internally `raptor_init`/`raptor_finish` work with reference counts.
133
+ @world = nil
134
+ def self.world
135
+ @world ||= World.new
136
+ end
137
+
138
+ ##
139
+ # Allocates memory for the string `str` inside `libraptor`, copying the
140
+ # string into the newly-allocated buffer.
141
+ #
142
+ # The buffer should later be deallocated using `raptor_free_string`.
143
+ #
144
+ # @return [FFI::Pointer]
145
+ def raptor_new_string(str)
146
+ ptr = V2.raptor_alloc_memory(str.bytesize + 1)
147
+ ptr.put_string(0, str)
148
+ ptr
149
+ end
150
+ module_function :raptor_new_string
151
+
152
+ alias_method :raptor_free_string, :raptor_free_memory
153
+ module_function :raptor_free_string
154
+
155
+ end # v2
156
+ end # RDF::Raptor::FFI
@@ -9,6 +9,7 @@ module RDF::Raptor
9
9
  # @see http://librdf.org/raptor/libraptor.html
10
10
  module FFI
11
11
  autoload :V1, 'rdf/raptor/ffi/v1'
12
+ autoload :V2, 'rdf/raptor/ffi/v2'
12
13
 
13
14
  ENGINE = :ffi
14
15
 
@@ -21,9 +22,7 @@ module RDF::Raptor
21
22
  #
22
23
  # @return [String] an "x.y.z" version string
23
24
  def version
24
- [V1.raptor_version_major,
25
- V1.raptor_version_minor,
26
- V1.raptor_version_release].join('.').freeze
25
+ V2.raptor_version_string.freeze
27
26
  end
28
27
 
29
28
  ##
@@ -41,26 +40,26 @@ module RDF::Raptor
41
40
  # @yieldreturn [void] ignored
42
41
  def initialize(input = $stdin, options = {}, &block)
43
42
  @format = self.class.format.rapper_format
44
- @parser = V1::Parser.new(@format)
43
+ @parser = V2::Parser.new(@format)
45
44
  @parser.error_handler = ERROR_HANDLER
46
45
  @parser.warning_handler = WARNING_HANDLER
47
46
  super
48
47
  end
49
48
 
50
49
  ERROR_HANDLER = Proc.new do |user_data, locator, message|
51
- line = V1.raptor_locator_line(locator)
50
+ line = V2.raptor_locator_line(locator)
52
51
  raise RDF::ReaderError, line > -1 ? "Line #{line}: #{message}" : message
53
52
  end
54
53
 
55
54
  WARNING_HANDLER = Proc.new do |user_data, locator, message|
56
- # line = V1.raptor_locator_line(locator)
55
+ # line = V2.raptor_locator_line(locator)
57
56
  # $stderr.puts line > -1 ? "Line #{line}: #{message}" : message
58
57
  end
59
58
 
60
59
  ##
61
60
  # The Raptor parser instance.
62
61
  #
63
- # @return [V1::Parser]
62
+ # @return [V2::Parser]
64
63
  attr_reader :parser
65
64
 
66
65
  ##
@@ -73,11 +72,11 @@ module RDF::Raptor
73
72
  if options[:raw]
74
73
  # this is up to an order of magnitude faster...
75
74
  parse(@input) do |parser, statement|
76
- block.call(V1::Statement.new(statement, self))
75
+ block.call(V2::Statement.new(statement, self))
77
76
  end
78
77
  else
79
78
  parse(@input) do |parser, statement|
80
- block.call(V1::Statement.new(statement, self).to_rdf)
79
+ block.call(V2::Statement.new(statement, self).to_rdf)
81
80
  end
82
81
  end
83
82
  end
@@ -93,7 +92,7 @@ module RDF::Raptor
93
92
  def each_triple(&block)
94
93
  if block_given?
95
94
  parse(@input) do |parser, statement|
96
- block.call(V1::Statement.new(statement, self).to_triple)
95
+ block.call(V2::Statement.new(statement, self).to_triple)
97
96
  end
98
97
  end
99
98
  enum_for(:each_triple)
@@ -145,9 +144,9 @@ module RDF::Raptor
145
144
  # @yieldreturn [void] ignored
146
145
  def initialize(output = $stdout, options = {}, &block)
147
146
  @format = self.class.format.rapper_format
148
- @serializer = V1::Serializer.new(@format)
149
- @serializer.error_handler = ERROR_HANDLER
150
- @serializer.warning_handler = WARNING_HANDLER
147
+ @serializer = V2::Serializer.new(@format)
148
+ #@serializer.error_handler = ERROR_HANDLER
149
+ #@serializer.warning_handler = WARNING_HANDLER
151
150
  @serializer.start_to(output, options)
152
151
  super
153
152
  end
@@ -163,7 +162,7 @@ module RDF::Raptor
163
162
  ##
164
163
  # The Raptor serializer instance.
165
164
  #
166
- # @return [V1::Serializer]
165
+ # @return [V2::Serializer]
167
166
  attr_reader :serializer
168
167
 
169
168
  ##
@@ -19,7 +19,7 @@ module RDF
19
19
  end
20
20
 
21
21
  def detect(sample)
22
- parser_name = RDF::Raptor::FFI::V1.raptor_guess_parser_name(nil, nil, sample, sample.length, nil)
22
+ parser_name = RDF::Raptor::FFI::V2.raptor_world_guess_parser_name(RDF::Raptor::FFI::V2.world, nil, nil, sample, sample.length, nil)
23
23
  parser_name == rapper_format.to_s
24
24
  end
25
25
  end # Format
data/lib/rdf/raptor.rb CHANGED
@@ -79,7 +79,7 @@ module RDF
79
79
  # @author [Arto Bendiken](http://github.com/bendiken)
80
80
  # @author [John Fieber](http://github.com/jfieber)
81
81
  module Raptor
82
- LIBRAPTOR = ENV['RDF_RAPTOR_LIBPATH'] || 'libraptor' unless const_defined?(:LIBRAPTOR)
82
+ LIBRAPTOR = ENV['RDF_RAPTOR_LIBPATH'] || 'libraptor2' unless const_defined?(:LIBRAPTOR)
83
83
  RAPPER = ENV['RDF_RAPTOR_BINPATH'] || 'rapper' unless const_defined?(:RAPPER)
84
84
 
85
85
  require 'rdf/raptor/version'