- Publish granular RDF data for nodes, terms and users
- Output MicroRDF, N-Triples, POSH RDF, RDF/JSON, RDF/XML, RSS 1.0 and Turtle
- Control the URIs of RDF documents
- Custom RDF fields
- Custom RDF namespaces
- Manage a SPARQL endpoint for querying your data (with basic key authentication)
- Override default RDF module publishing
- Provide an RDF tab for nodes
- Features compatibility
- Pluggable URI formats, Content Type mappers, and CCK field type mappers
Simple RDF comes with an RDF document display module, Simple RDF View. This module publishes the RDF document for an object on a configurable path under the object's path, e.g.
node/123/rdf. You can also use the RDF module (http://drupal.org/project/rdf) to display the RDF document, though its capability in Drupal 6 is limited (see Limitations below).
The Simple RDF SPARQL module provides an ARC2 SPARQL endpoint for the RDF data mapped for a site. The module maintains its own RDF triples cache optimized for the Drupal workflow so that it always serves the latest site data while updating itself only on site change.
Various aspects of the package are exportable via Features. Each mapping is exportable by type (e.g. node) and classification (e.g. content type). You can also export custom fields and namespaces.
This module requires Drupal 6 to run. In addition, it depends on:
Simple RDF View and Simple RDF SPARQL require the ARC2 library. The library can be obtained at:
Why another RDF module?
The well-known RDF module aims to translate the Drupal site structure into a site RDF graph. Each aspect of the site is mapped onto an RDF graph node, with each possible property and relationship mapped onto an RDF graph edge. While this is a semantically robust architecture, some of the simplifications it makes result in the following caveats:
- Components outside of the Drupal entity model are not part of the Drupal RDF metamodel. To add RDF support for them, the components basically have to be incorporated into the entity model; that may not always be feasible.
- Anything without a "physical" counterpart in the Drupal metamodel couldn't publish RDF. Metadata for files (as related to a node), for example, cannot be displayed along with the node. Metadata for BNodes as referenced from native entities are not displayed with the entity RDF data and thus nowhere else (though I believe this will be resolved soon, if not already).
- Drupal entities have fixed URIs. The only addition they may have are aliases. Simple RDF allows for alternative URIs for site objects to provide metadata-oriented canonical URLs).
Simple RDF is meant for mapping Drupal objects into the more fundamental RDF statements. One CCK field may produce more than one set of statements, and multiple fields may be combined into one set of statements. The Drupal RDF model in this sense is loosely coupled with the Drupal metamodel.
In addition, Simple RDF is for Drupal 6 at the moment, which RDF has basically stopped developing new features for. The aim of this module is to provide useful RDF-related features that may or may not get incorporated into RDF (though hopefully RDF can provide similarly useful features and effectively merge the two projects). Whether this module will be ported to Drupal 7 or future versions depends on how well it is received by the community and how much overlap this module has with others.