rdf-raptor 0.4.2 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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'