W3C home > Mailing lists > Public > www-rdf-interest@w3.org > November 2000

RE: RDF API convergence? was Re: ANNOUNCE: RDF.NET

From: Jason Diamond <jason@injektilo.org>
Date: Sat, 11 Nov 2000 12:52:29 -0800
To: "www-rdf-interest" <www-rdf-interest@w3.org>
Message-ID: <LAEMKGDBDFAKFNKPFEKLAEHACMAA.jason@injektilo.org>

> Push vs pull is tricky to do both but have been done on systems that
> are widely installed (on Linux-en) - see libpng for handling the PNG
> image format and Daniel Veillard's libxml that does both for XML.

I haven't used it but looking at the documentation, I wouldn't consider
libxml to support a pull-based parser. Its version of pull loads the
document into a DOM from which you can then pull elements from. Using
Microsoft's XmlReader, on the other hand, is more like reading from a
stream. You loop until it returns EOF. Each iteration through the loop gets
you a new XmlNode (Element, EndTag, PI, Text, etc) to play with. It doesn't
need to load the entire tree into memory so it's just as efficient as SAX
and expat but easier to program against (mostly since you can keep your
state in local variables as opposed to members of the class that receives
the callbacks). This is what I modelled RDFReader after. I've been itching
to modify expat to provide the same functionality.

> The statement vs resource centric are just two ways of looking at the
> same thing and can be resolved with a bit of glue.  It depends on
> whether you take resources as 'attached' to a statement (and hence
> model) or on their own.

I currently favor the resource-centric view. I think most developers today
who are used to OO programming would find it more familiar as well. But the
statement-centric model is more appropriate for logic and inferencing.

> Asking this another way - which of these interfaces are needed?  I
> can imagine people could want them all.

That was my point. I think they are all equally valid. Some are more
appropriate in certain situations than others, of course, and the developers
should be able to choose the right tool for the right job. Should we try to
combine all of these tools into one large API? I hope not. I think that most
developers are pretty sharp and are capable of adapting to whatever API
they're presented with. I'm not saying we should endorse a free-for-all in
the RDF API land. Maybe we can identify, though, a core set of requirements
that APIs trying to provide a specific model should provide (a la the
Infoset). I don't really see any need to provide actual language-level

Received on Saturday, 11 November 2000 15:55:34 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:07:33 UTC