Overview
RDFViz works like this:
-
Fetch the contents of a given URL (or path).
-
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.
-
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.
-
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
-
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..