Overview

RDFViz works like this:

  1. Fetch the contents of a given URL (or path).
  2. Scan it to extract all the metadata we can, in RDF (triples) form.
    You can see the result of this scan by visiting raw as a rendering option, eg /rdfviz/raw/node
    The scanning is done with the ARC2 Library, and is pretty comprehensive; capable of analyzing a number of type of metadata, microformats, raw RDF, or RDFa.
  3. Then, user-defined rendering rules are applied to this data stucture, to say "If it's a typeof foaf:Document, make it a blue block", or "If it's a link to an author, add a dotted line between the item and the user".
    There are any number of possible statements, object types, predicates and properties that may be used to influence styles, so the rules for translating data structures into visual objects are complex and code-based only.
  4. The rendering rules are run over the data, which produces a DOT syntax file that describes the graph to draw. This syntax is the one used by Graphviz and can also be imported into tools like Omnigraffle or Visio.
    You can see the result of this scan by visiting dot as a rendering option, eg /rdfviz/dot/node
  5. With the DOT file ready, server-side tools can then generate PNG, GIF, or SVG renditions of the graph. These are displayed as Drupal pages at /rdfviz/png/node /rdfviz/gif/node /rdfviz/svg/node

Requirements

The required libraries - Arc2 PHP library, PEAR Image:Graphviz PHP library, and the server-side Graphviz binaries (eg /usr/local/bin/dot) must be installed.

An install helper makefile is available to assist that. See INSTALL.txt. For more help for your OS, you may need to check out the respective applications help directly..