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.
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.