Notation 3 support

Gregory Williams greg at evilfunhouse.com
Fri Jul 2 21:28:54 CEST 2010


On Jul 2, 2010, at 12:15 PM, Toby Inkster wrote:

> The combination of these two modules (plus a tiny patch to
> RDF::Trine::Node::Literal) allows us to parse arbitrary Notation 3
> documents. 
> 
> Some Notation 3 data can be serialised using the existing serializers,
> though not all. If the top-most graph in the Notation 3 data is respects
> RDF semantics (e.g. no literals in subject position), then it should be
> possible to serialise this data - formulae in the object position should
> serialise fine.
> 
> It still needs a bit of work and a lot of testing. Do people think these
> features are worth adding to RDF::Trine's main distribution, or better
> to package up separately?

I think this is all very cool (even though I have never really had a need or desire to venture far into the N3 space). In general I'd prefer this to be a separate package for two reasons. The first is that at some point I assume somebody is going to want things like property paths and the rule evaluation mechanisms to deal with log:implies, and those are things I think belong at a higher level than what RDF::Trine is trying to do (though it would be a shame if we can't find some shared code to use between N3 and SPARQL 1.1 property paths). Also, having a separate package would simplify the process of updating/fixing the N3-specific stuff without having to tie it to an RDF::Trine release.

I'm happy to continue to add hooks in RDF::Trine::Node::Literal to make this sort of stuff possible, but I'd like to think some about how to generalize the extension mechanism so that things like Kjetil's ::Node::Literal::XML and your ::Node::Formula are possible without hard-coding support for each extension in the Literal class.

.greg



More information about the Dev mailing list