Parsing N-Triples with Rena++

Hello Ruby people,

I'm trying to parse the N-Triples dumps from http://lcsh.info/ in Ruby.

This was a good excuse to try the repackaged 'Rena' tools from Tom 
Morris, Patrick Sinclair and friends. I downloaded a tar.gz from GitHub 
and tried to make it go. http://github.com/tommorris/rena

First - I had to make some edits to rena.gemspec before I could make it 
build and install a Gem package. Those edits are here: 
http://pastebin.com/f4c1b3d25

Secondly, I'm trying to parse ntriples or even n3 input (assuming the 
former is a subset of the latter). I get an error in

/Users/danbri/.gem/ruby/1.8/gems/rena-0.0.1/lib/rena/n3parser.rb:28:in 
`initialize': undefined local variable or method `string' for 
#<Rena::N3Parser:0x12b59ac> (NameError)

code is:

puts "Expected #{tf.expected_string.inspect} (#{tf.index})- 
'#{string[tf.index,10].inspect}'"

If I comment out the string bit, it runs (but still fails to parse).

Input is http://svn.foaf-project.org/foaftown/2008/lcshplus/_bristol.nt

which parses fine with Redland's rapper parser, either with -i ntriples, 
or -i turtle.

Help welcomed. Is this code ready to use? If someone could at least help 
fix the 'string' error above it might be possible to get more 
understandable error messages...

cheers,

Dan



My script is just:

	#!/usr/bin/ruby

	require 'rena'
	include Rena

	filepath='_bristol.nt'
	n3_string = File.read(filepath)
	parser = N3Parser.new(n3_string)
	ntriples = parser.graph.to_ntriples
	ntriples.gsub!(/_:bn\d+/, '_:node1')
	ntriples = sort_ntriples(ntriples)

Received on Tuesday, 30 September 2008 13:27:59 UTC