RDF::Core - An object oriented Perl module to support RDF.


RDF::Core is a pure perl implementation of RDF storage, parser and serializer. The storage's functionality is basic - store, delete, query statements, where query means ask about existence or count or retrieve statements conforming given mask of (subject, predicate, object). Three storages are available - in memory, file (DB_File) and DBMS (PostgreSQL). The parser supports full RDF/XML syntax including aboutEach attribute. The serializer tries to preserve anonymous nodes and to compact xml a bit by grouping statements with common subject.

Besides the basic querying, there is a query language implemented. The query language is focused on resource, not statement and the typical pattern is me->neighbor->child->age to express neighbour's children's age, not (me,neighbour, him) && (him, child, it) && (it, age, value). It contains some shortcuts to express things, that are (possibly) expressed often, like object->rdf:type = someClass. Functions are another enhancement of the language. They can be used instead of resource or property. Functions are implemented in a separated library, so that it's easy to create new or modify existing ones.

We focus on acceptable and clean interface between parts of the module. Typically a storage should have it's interface on a 'statement level' (add statement, get statement) rather then on data elements level (add this value into hash_one and that into hash_two), which comes with interface based on lower level base.


RDF::Core includes the following modules. See documentation for particular modules for details:


This package is subject to the MPL (or the GPL alternatively).


Ginger Alliance,