PerlRDF

RDF parser, storage and query language

The PerlRDF project is an umbrella for Ginger Alliance activities in the field of RDF. It doesn't claim to be the only or the leading RDF project in Perl. On the other hand, it provides quite a few features not available elsewhere.

RDF::Core

RDF::Core is a Perl implementation of RDF storage, parser and serializer. The storage's functionality is store, delete and query statements, where query means ask about existence of statements conforming a given mask (subject, predicate, object). Three storages are available - in memory, file (DB_File) and DBMS (PostgreSQL). The parser makes use of XML::Parser and supports full RDF/XML syntax including changes from 2003. The serializer tries to preserve anonymous nodes and to compact xml by grouping statements with common subject. Besides the basic querying, there is a resource-centric query language implemented. RDF::Core also provides a basic object oriented interface for the RDF Schema manipulation.

RDF::Notation3

RDF::Notation3 is a pure Perl parser of RDF/N3, a human-readable and scribblable language for RDF. The modular design of this parser allows to process a parsed data in many ways; e.g. to store the data as an RDF::Core model or generate an RDF/XML SAX2 stream. PerlRDF libraries can convert in both ways: N3 to XML, and XML to N3.

Demo

There is an on-line demo site available. You can check out the parsers of both RDF/XML and RDF/N3 formats, the serializer and the query language. You are allowed to store your models persistently, add more statements, ask queries, and serialize the models.

Sources

The modules can be downloaded from this site or from CPAN.

Documentation

Each module contains a common POD documentation. HTML versions of the documentation are also available: RDF::Core, RDF::Notation3. Change logs can be checked for new features: Core, Notation3. An introduction to RDF::Core with code examples can be found in the Practical RDF book by Shelley Powers (Chapter 10, published by O'Reilly).

Licensing

Both modules are subject to the Mozilla Public License 1.1 or the GNU General Public License alternatively.

Support

There is a mailing list dedicated to this project available. If you find a bug in either RDF::Core or RDF::Notation3, want to take part in this project or just contact the authors, please e-mail to rdf@gingerall.cz.

Download