Gruff: A Grapher-Based Triple-Store Browser for AllegroGraph

"Thanks for writing Gruff - I had just about made the decision to write my own RDF browser and then I found out about Gruff! Gruff is far better and easier to use than anything out there." - M.H., a commercial user

Introduction

Gruff is a triple-store browser that displays visual graphs of subsets of a store's resources and their links. By selecting particular resources and predicates, you can build a visual graph that displays a variety of the relationships in a triple-store. Gruff can also display tables of all properties of selected resources or generate tables with SPARQL queries, and resources in the tables can be added to the visual graph.

Screenshots

The graph view: The table view:


The query view:


A Graph of Types of Graphs:

A Graph of Parker Posey:

Video Tutorials

(Flash recordings, best viewed full screen)

  • Overview of Functionality video (4 min., 19 sec.)
  • The Four Basic Approaches video (2 min., 38 sec.)
  • Creating and Opening a Triple Store video (2 min., 58 sec.)
  • Displaying a Starter Node video (3 min., 2 sec.)
  • Adding Nodes Linked by Particular Predicates video (2 min., 50 sec.)
  • Adding Arbitrary Linked Nodes video (3 min., 48 sec.)
  • Managing a Larger Layout video (3 min., 53 sec.)
  • Doing SPARQL Queries video (3 min., 4 sec.)
  • New features: The Legend, Saving Layout States, and Finding Paths video (3 min., 59 sec.)

Downloads

For use with AllegroGraph 3.2:

For use with AllegroGraph 3.1.1:

Data files

Gov N-triples data file: gov.ntriples.bz2 or gov.ntriples.zip.

Actors N-triples data file: actors.ntriples.bz2 or actors.ntriples.zip.

Release history

  • 1.3.0 on 8 June, 2009:
    • Options for smoother lines and text at Drawing Options | Antialiasing.
    • Options for 3D node box color gradients at Drawing Options | Color Gradients.
    • Options for a background pixmap at Drawing Options | Window Background.
    • Option for legend background color at Drawing Options | Window Background.
    • Option for a border color at Drawing Options | Node Border Color.
    • If the new options above slow things down, they can easily be turned off.
    • Distinct Add menu commands for adding nodes for types or their instances.
    • Add an Instance Node by Class Hierarchy grays out instanceless classes.
    • New option Table View Options | Show Full URIs in Tables (with shortcut).
    • A query no longer reports (possibly unintended) explicit URIs not found in the store.
    • The Graph View's initial canvas size no longer includes a scrolled-off area.
    • The position, size, and maximized status of Gruff are remembered across sessions.
    • Column widths and split-bar positions are remembered across sessions.
    • The default multipredicate line style no longer uses nonantialiasable dashing.
    • No-longer-existing files are removed from the lists of recent states to revisit.
    • You can now cancel a layout during the final compression and centering stages.
    • Fixed: Text in the legend pane sometimes failed to draw on Linux.
    • Fixed: Multiple objects with the same local name were excluded from various menus.
    • Fixed: Add | Add a Node By Label didn't work for no-language label literals.
    • Programmatic option name abbreviate-node-labels is now exclude-namespaces-from-labels.
  • 1.2.1 on 27 April, 2009:
    • There's a new Help | Use Web Browser for Menu Help option.
    • Turn on use-line-color-for-link-labels by default.
    • Generalize node-info and predicate-info objects so that they do not necessarily represent a UPI, and instead can represent an arbitrary string (such as one generated by a Prolog query) or a symbol (such as a variable in the upcoming graphical query view).
    • Handle nodes better that represent strings that were generated by Prolog queries that are not literals in the store. Stop interning them into the store.
    • Stop assuming that any literal string in a Prolog query names a UPI that's in the store. Stop searching (lisp ...) subexpressions for explicit UPIs to add to the lists of explicit UPIs from the query.
    • Disable various commands on query results table cells that contain constructed strings from Prolog queries, when the commands need a UPI.
    • Make the legend pane handle HOME, END, and PAGEUP/DOWN.
  • 1.2.0 on 17 April, 2009:
    • Prolog queries are now supported, including defining rules and other evaluations.
    • Queries can be named and revisited later in the same session from a menu.
    • The File menu's save and load commands save different things in different views.
    • The states to reload at the bottom of the View menu differ in different views.
    • The above changes save query strings in the Query View, and objects in the Table View.
    • Labels can be shown on link lines. See Drawing Options | Link Labels.
    • You can press F1 while highlighting a menu command to visit its help directly.
    • Finding all types and all nodes (for Add menu commands) is more efficient.
    • Inclusion Options | All Types Timeout has been removed; you can abort it instead.
    • Fixed: Create a Visual Graph from Results broke if no store is open.
    • Fixed: Create a Visual Graph did nothing if there had been no Graph View content.
    • Fixed: Clicking a query results table cell that has no value broke.
    • Fixed: Display Paths Between Two Nodes sometimes scrolled the paths out of view.
    • Fixed: The usual automatic layout didn't happen when adding only orphan nodes.
  • 1.1.9 on 1 April, 2009:
    • Fixed: It was impossible to type certain letters into a query string on Linux.
    • Fixed: Adding a single node removed the types for other nodes from the legend.
    • Fixed: Adding a single node didn't push an undo state to return to.
    • New command File | Apply RDFS++ Reasoner adds reasoning to the store being browsed.
    • Add a Node By Class Hierarchy now lets you alternately select an instance of a class.
    • New command Add a Node By Type lists all types alphabetically in a series of menus.
    • Inclusion Options | All Types Timeout limits the time for searching for all types.
    • The Layout Options | Displaying Paths submenu covers where to place path end nodes.
    • Display Paths Between Two Nodes now pins the end nodes at the window edges by default.
    • New option Inclusion Options | Finding Paths | Find Only Shortest Paths.
    • Newly-added nodes and selected search matches will now flash momentarily by default.
    • The new Drawing Options | Widget Font option affects the font in miscelleanous places.
    • Control-right-clicking a table cell is now a shortcut for the Copy command.
    • A singly-added node will move to an empty spot rather than forcing its way to the middle.
    • Creating a a visual graph from query results now warns when there are many links.
    • Gruff no longer closes *db* at Gruff exit time when used in a development lisp.
    • The Home and End keys now work in the graph view, including horizontally with Control.
    • User function find-and-display-paths now takes a finder-function argument.
    • find-and-display-paths now returns the list of paths, not its length.
  • 1.1.8 on 11 March, 2009:
    • Blank nodes can now be saved in layouts.
    • Gruff no longer globally enables the bang reader.
    • Opening a store will now always ask for read-only or read/write mode.
    • The user function display-paths is now called find-and-display-paths.
    • The new user function display-paths displays already-found paths.
    • A warning will be shown on Linux for a null DISPLAY environment variable.
    • Dragging the query results grid columns to a new order is fixed.
    • Refresh the legend pane when node labels options are changed.
    • GTK warnings about unregistering nonregistered menu shortcuts is fixed.
    • A new command on the legend menu removes all matching nodes or links.
    • The Query View now supports DESCRIBE queries.
    • Error is friendler when trying a query other than a SELECT or DESCRIBE.
    • You will be warned once if the open triple-store is not fully indexed.
    • There's a new option "Layout Options | Limit Outward Stretching".
    • A glitch with finding paths between selected nodees is avoided for now.
    • A query no longer breaks if some resulting variable values are nil.
    • Going back to a table that has no rows no longer breaks.
    • Aborting a search in the node pane once again undoes any scrolling.
  • 1.1.5 on 5 December, 2008:
    • Unconnected groups of nodes are no longer left far apart from each other.
    • The new commands "Save Layout State" and "Load Layout State" on the File menu allow saving a layout and then reloading it at any time in the future when the same triple-store is open. The most recently saved or loaded layouts for the currently-open store are listed at the bottom of the View menu for quick reloading.
    • There is a new optional legend pane in the graph view that displays the meaning of each predicate line style and each node type background color. Right-click an item in the legend to get a menu of a few commands that can be applied to them.
    • You can now exit eraser mode by clicking the background or moving to another view or another application.
    • Some menu commands that apply only to the graph view first select the graph view if it's not the current view.
    • The keyboard shortcut for Load N-Triples has changed from control-L to control-shift-L to free up Control-L for the new Load Layout State command.
    • New options on the View menu allow flashing nodes or links that match the selected item in the legend.
    • The new command Link | Find Paths Between Two Nodes allows adding nodes and links that comprise paths between two selected nodes. There is a corresponding user function display-paths.
    • Many small fixes and improvements.
    • The new command Link | Display Paths Between Two Nodes is similar to the recent Link | Add Paths Between Two Nodes, but it removes all nodes and links that aren't in the paths.
  • 1.0.19 on 1 October, 2008:
    • Better handling of loading triples into a pre-existing triple store.
    • Fix control-shift-click gesture to send a URL to a web browser.
    • Make string search in the graph view highlight multiple matches.
    • Selecting a table cell with alt-click will no longer show a mouse cursor for a drag-and-drop.
    • The new variables *selected-node* and *selected-link* may now be used in a development lisp where gruff.fasl is loaded.
    • Improvements to the documentation, including a section for special mouse clicks.
    • Better layout when a node has more than several links that have layout direction constraints.
    • New option: Layout Options | Spacing Increment for Many Links. Layout | Max Links per Node Copy has moved down the menu to be with it.
    • Fixed a problem with that gesture sometimes not bringing Firefox to the front.
  • 1.0.15 on 21 August, 2008:
    • The distribution now includes the file gruff.fasl for using in a development Lisp.
    • Fixed a problem with Drawing Options | Custom Property for Node Labels.
    • Reduced the number of communications with a remote server to improve speed in client-server mode.
  • 1.0.13 on 28 July, 2008:
    • The Quick Start window contents now appear under GTK.
    • Fix for large fonts and the dialog that asks for a directory for a new triple store.
    • Misc bug fixes.
  • 1.0.12 on 2 July, 2008
  • 1.0.11 on 1 July, 2008
  • 1.0.10 on 11 June, 2008

Installation

Unpack the files. On Windows run gruff.exe, and on Linux run gruff. The documentation is in the file doc.html.

Support

If you have questions or comments, please contact us at support@franz.com.

Copyright © 2009 Franz Inc., All Rights Reserved | Privacy Statement