Perl and RDF

The project

The Perl RDF project provides:

  1. An official API for storage, parsing and serializing modules.
  2. Produce a set of base classes and roles for representing common RDF objects such as statements and nodes (resources, literals, blank nodes).
  3. Produce patches to existing RDF tools to support these APIs, subclassing where appropriate.
  4. Produce a test suite for storage, parsing, serializing, statement and node classes.
  5. Numerous modules built on this basis for various Semantic Web applications.

A new foundational framework is underway, see Attean, where we aim to take advantage of new role-based programming techniques. The ideas are also described in this paper (slides) presented at the ISWC Semdev workshop.

We have wiki for collaborately exploring new ideas.

Please subscribe to the perlrdf mailing-list and get in touch! There is also an IRC channel.

Modules

Infrastructure Publish Convert
...and many more of differing relevance and maturity.
  • RDF::Helper. A module to provide a consistent, high-level API for working with RDF with Perl.
  • RDF::Trine. De facto standard low-level API, also containing parsers, serializers, etc.
  • RDF::Query. First complete SPARQL 1.1 implementation.
  • RDF::Query::Client. Use RDF::Trine API against remote SPARQL servers.
  • Test::RDF. Test RDF data for validity and equality.
  • RDF::TriN3. Extends RDF::Trine to Notation 3 data model.
  • RDF::Redland. Interface to the C-based Redland library. The CPAN version of this module is out of date. Use the redland-bindings package instead.
  • Web::Scraper. Toolkit using HTML and CSS Selectors or XPath expressions.
  • RDF::Dumper. Dump RDF data objects.
  • RDF::Endpoint. Easy setup SPARQL 1.1 Endpoint.
  • RDF::LinkedData. Easy setup Linked Data server conforming to best practices.
  • Web::ID. implementation of WebID (a.k.a. FOAF+SSL).
  • RDF::ACL. Access Control Lists based on WebIDs.

There is also the slides of a 15-minute introduction.

Past hackathons