W3C home > Mailing lists > Public > public-rdf-ruby@w3.org > April 2010

Re: parsing

From: Arto Bendiken <arto.bendiken@gmail.com>
Date: Mon, 5 Apr 2010 01:01:40 +0200
Message-ID: <n2h47fe11b71004041601t55db5677sd4a4e16330f804de@mail.gmail.com>
To: carmen <_@whats-your.name>
Cc: public-rdf-ruby@w3.org
On Sat, Apr 3, 2010 at 7:31 AM, carmen <_@whats-your.name> wrote:
>> >  http://rdf.rubyforge.org/raptor/
>
> im wondering what would necessitate the inefficiency of introducing IPC and a 3rd party utility parse and serialize something as a preprocessing step, just so ruby can parse it again, but in the one format it can parse (ntriples), when theres already complete test-suite passing parsers for all of W3C's formats via raptor itself ((via redland-bindings, in most distirbutions and blazing fast)), jena/sesame (via JRUBY) and tom morris (reddy) and greg kellog (rdfcontext)'s pure-ruby options which can get any of the formats right into ruby without funny tricks

I don't generally bother answering questions of the type "why on Earth
do you have any requirements other than mine", but I'll briefly make
an exception here to point out the obvious and the perhaps less
obvious:

1. None of the mentioned existing parsing solutions presently provide
in-memory RDF data in a manner compatible with RDF.rb's object model
(nor with each others', for that matter).

2. We do not wish or intend to have to use another object model than
RDF.rb in our Ruby code; after all, being our creation it best fits
our model and notion on how RDF and Ruby ought to work together.

3. We internally mostly deal with RDF data as N-Triples and N-Quads in
permanent storage, with a transient conversion to/from TriX when
interfacing with Sesame over HTTP; we use RDF/XML and Turtle only for
mass imports and exports, and Raptor handles these for us just fine.

4. The RDF::Raptor plugin for RDF.rb saves us from some manual
conversions of datasets and from lots of ad-hoc manual shelling out to
the `rapper` binary.

5. We publish the majority of our code as open source, whether it may
be useful to others or not - see e.g. the RDF::BERT plugin for
something that is massively important for our own infrastructure but
not likely to be of widespread general interest.

6. Potential inefficiency is not a big concern to us on this level;
we're using Ruby, after all.

7. If the RDF::Raptor plugin happens to be of use to others beyond the
aforementioned, I'm certainly glad of it; however, that is of little
inherent concern to us one way or another, as we originally developed
it for our own use, and will likely continue to develop and use it
whether it has a single external user or not.

In short, I'm sorry RDF::Raptor isn't useful to you, and I hope you get over it.

-- 
Arto Bendiken | @bendiken
Received on Sunday, 4 April 2010 23:02:16 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Sunday, 4 April 2010 23:02:16 GMT