Perl and RDF status (was: Re: Hacking RDF with Perl hackathon cancelled)

On Sunday 18. April 2010 21:48:39 Dan Brickley wrote:

>  Perhaps you could talk through some RDF Perl stuff in IRC and email
> as a stopgap?
> 
> For my part, I've entirely lost track of what's doable in Perl these
> days (having drifted to Ruby/Python mostly).

I'll add a bit to what Toby and Greg just said: As they have stated, there 
is rough consensus that RDF::Trine and RDF::Query are the low-level APIs 
that most want to work with. 

I initiated a discussion to re-open a higher-level API in RDF::Helper, 
which is older, and also contains quite a lot of low-level stuff. I think 
RDF::Helper is valuable, and that most developers would want to work on the 
level of RDF::Helper, but it is an open question how we should do this.

Some may be aware that Perl5 didn't have a well-developed object system, 
even though you could do OOP with it. Within just a couple of years, a new 
best practice has been established, and the community has gone "all the 
way" and adopted the Metaobject Protocol. This provides us with a new and 
very interesting direction: The MOP makes very straightforward to create 
classes at runtime, so, it should be possible to mix methods written in 
advance with stuff generated at runtime, based on the presence of an RDF 
Class, and based on RDFS subclassing and "subpropertying" :-) I haven't 
thought this fully through, but I have noticed some papers in the 
literature that explores this (e.g. one on using the MOP with the Common 
Lisp Object System). In Perl, we have Class::OWL, which implements some of 
these ideas, but there is a lot of potential for very interesting work 
here, and ultimately, we would like a MooseX::OWL, which would use the 
currently established best practice. I think this would be a very 
interesting student project, if anyone here is so inclined. :-)



> What are the main opensource pure Perl tools available? How compliant
> are they? How much of SPARQL (in memory, in SQL, in other things;
> SPARQL protocol; SPARQL 1.1?) is covered?

As you may know, Greg is on the SPARQL WG, so he's tracking it closely. I'm 
not tracking it quite as closely anymore, as I'm not a part of the group 
anymore, but I hope to create RDF::Query::HTTPBindings RSN... 

> How do the APIs compare within Perl, and across to other
> scripting languages?

I don't know the other scripting languages, but I wouldn't expect someone 
coming from a Jena background to feel lost with RDF::Trine/RDF::Query, 
since I have done that myself.

> Are the tools happily packaged in CPAN? 

Yeah, some of it has not yet come out of github, but most of the stuff is 
on the CPAN and what is there is pretty mature, I would say.

> (and Debian etc, if that's needed?). 

Redland, and RDF::Redland is in Debian, but nothing else is. I think it is 
too much in flux to be very useful in Debian, but that we may start 
thinking about getting RDF::Trine and RDF::Query in there once squeeze is 
released.

> Are they well tested, actively
> maintained? 

It is easy to see by looking at the latest release date. :-) I have not 
done anything with RDF::Core for example, and it is not actively 
maintained, so I would not recommend it.

> Are there things written in other languages but missing in
> Perl, which might easily be translated? 

Personally, I'm not so concerned abotu things being pure Perl. I think it 
is useful to be pragmatic about it: If things are fast enough in Perl, use 
Perl, if not, drop down to C/C++ or something, and Perl has well-performing 
solutions for it in XS. 

I would really like to see a low-level integration to 4store, so that it 
becomes a native RDF::Trine::Store, if it makes sense (it may not, HTTP-
level integration is much lower hanging fruit). 

Also, it would be nice to have a port of OWLAPI to Perl, and a XS bridge to 
FaCT++.

These would be on my wishlist, as I'm not very likely to do those myself.


> Sorry again to hear this got cancelled. Amazing the amount of trouble
> a volcano can make... ;)

Yeah... I would really like to pick it up again. Possibly scale up! :-)

Cheers,

Kjetil
-- 
Kjetil Kjernsmo
kjetil@kjernsmo.net
http://www.kjetil.kjernsmo.net/

Received on Saturday, 24 April 2010 21:11:21 UTC