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

"I am continually showing the wonderful way in which Gruff allows us to analyze our data. Every time I demonstrate your product, people are immensely impressed by what it can do and the insight we gain from it. My analysts (Belastingdienst, Tax and Customs Administration) tell me they have discovered millions of Euros in fraud by using Gruff. On behalf of the people of The Netherlands: Thanks!" - Marcel van Mackelenbergh, Tactical Architect - Belastingdienst - Press Release

"Congrats to Franz again on GRUFF! I don't know whether to weep with joy or cheer over the perfection of the reification display!" - Eric Peterson

"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

The free-form nature of triple-stores offers a lot of flexibility for constructing databases, but that freedom can also make it less obvious how to find arbitrary data for retrieval, error-checking, or general browsing. Gruff is a freely downloadable graphical triple-store browser that attempts to make data retrieval more pleasant and powerful with a variety of tools for laying out cyclical graphs, displaying tables of properties, managing queries, and building queries as visual diagrams.

Use gruff to display 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

  Download Gruff for AllegroGraph 4

*NOTE* - Gruff for AllegroGraph 4 requires a separate Download and Install of AllegroGraph 4.x for 64-bit Linux on a seperate 64-bit Linux server. To install AllegroGraph 4.x on a 64-bit enabled Windows or Mac OS X machine, please use the AllegroGraph 4.x VM Ware Virtual Machine. You can also use client-server Gruff with AllegroGraph running on Amazon EC2.

Platform Download System Requirements
64-bit Linux Gruff v5.4.0-AG4.14 (ACL 9.0) glibc 2.11 or later -- Installation instructions
64-bit Linux Gruff v5.4.0-AG4.14 (ACL 8.2) glibc 2.4 or later -- Installation instructions
32-bit Linux Gruff v5.4.0-AG4.14 (ACL 9.0) glibc 2.11 or later -- Installation instructions
32-bit Linux Gruff v5.4.0-AG4.14 (ACL 8.2) glibc 2.4 or later -- Installation instructions
64-bit Mac OS X Gruff v5.4.0-AG4.14 (ACL 9.0) Mac OS X 10.6 or later -- Installation instructions
64-bit Mac OS X Gruff v5.4.0-AG4.14 (ACL 8.2) Mac OS X 10.6 or later -- Installation instructions
32-bit Mac OS X Gruff v5.4.0-AG4.14 (ACL 9.0) Mac OS X 10.6 or later -- Installation instructions
32-bit Mac OS X Gruff v5.4.0-AG4.14 (ACL 8.2) Mac OS X 10.6 or later -- Installation instructions
64-bit Windows Gruff v5.4.0-AG4.14 (ACL 9.0) Windows Vista or later -- Installation instructions
64-bit Windows Gruff v5.4.0-AG4.14 (ACL 8.2) Windows Vista or later -- Installation instructions
32-bit Windows Gruff v5.4.0-AG4.14 (ACL 9.0) Windows Vista or later -- Installation instructions
32-bit Windows Gruff v5.4.0-AG4.14 (ACL 8.2) Windows Vista or later -- Installation instructions

  Download Gruff for AllegroGraph 3.3

Download Includes AllegroGraph 3.3 (No Additional Download Required):

Platform Download System Requirements
64-bit Linux Gruff v5.4.0-AG3.3 glibc 2.4 or later -- Installation instructions
32-bit Linux Gruff v5.4.0-AG3.3 glibc 2.3 or later -- Installation instructions
64-bit Mac OS X Gruff v5.4.0-AG3.3 Mac OS X 10.6 or later -- Installation instructions
32-bit Mac OS X Gruff v5.4.0-AG3.3 Mac OS X 10.6 or later -- Installation instructions
64-bit Windows Gruff v5.4.0-AG3.3 Windows Vista or later -- Installation instructions
32-bit Windows Gruff v5.4.0-AG3.3 Windows Vista or later -- Installation instructions

Data files

Healthcare data file: gruff-healthcare.zip

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

Actors N-triples data file: actors.ntriples.bz2 or actors.ntriples.zip or actors.ntriples (unzipped file: 25.5 MB).

New Gruff Features

The paragraphs below describe select features of the latest versions of Gruff. For a complete listing of the new features, see the Release History

New in Version 5.2: SPARQL Endpoint Connections

Gruff now allows users to connect and browse SPARQL Endpoints directly, without using an AllegroGraph database. This feature is currently available in Beta and requires a password to enable the functionality. Please contact info@franz.com to participate in the Beta program and obtain the password.

Screenshots

The new child menu "Global Options | SPARQL Endpoints" contains options that are specific to SPARQL endpoints, mostly to disable certain capabilities by default that may typically be too slow for an endpoint; in particular, label properties are not displayed by default with endpoints, but they can be. Most Gruff functionality is available with endpoints, though some menu commands that are not available (such as path-finding) will be grayed out and inactive when using an endpoint.


New in Version 5: Spring Layout View

Gruff was originally designed to view and investigate portions of the graph using a constraint-based algorithm which specialized in avoiding any overlapping between nodes and links This makes viewing the graph more usable and clear (to the user) which nodes are linked by each link line.

The constraint-based algorithm while better for clear viewing of the graph requires more RAM when you want to view a very large graph on screen. With Gruff v5 we have added a spring layout algorithm which is used for larger graphs to find a layout much more quickly, though it does not attempt to prevent nodes from overlapping link lines.

The two approaches are configurable via the Gruff commands so the user can define when the layout will switch from a constraint-based algorithm that's used for smaller graphs to a spring algorithm that's used for larger graphs.

Screenshots

New in Version 4: Outline View

There is a new outline view for browsing and editing linked nodes as an indented outline. It is especially useful for viewing hierarchies of nodes such as those using rdfs:subClassOf or skos:narrower predicates, and editing them by shifting nodes around (perhaps while adding new nodes as well). See this tutorial for Building a Hierarchy from Scratch in the Outline View.


Store Editing for Creating and Deleting Triples

See the various commands on the new Edit pull-down menu and on the new right-click pop-up menu in the table view. A property value in the table view can be edited in place or replaced with an existing node that you select in one of several ways. You can create or edit an object "by type", where Gruff will add suggested rows to the table for predicates that other objects of the same type have, and for predicates that define that type as their domain or range. Edits can be undone and redone.

RDFa - Capture From Websites

From Wikipedia: RDFa (or Resource Description Framework - in - attributes) is a W3C Recommendation that adds a set of attribute level extensions to XHTML for embedding rich metadata within Web documents.

New in Gruff is the ability to Load Triples by Extracting Triples from RDFa. With a triple store open, you enter the URI of the web page that holds the triples in RDFa format. You can optionally specify the Named Graph to load the triples into, or use the default graph. You can then display the triples in this version of Gruff.

RDFa Capture Screenshots

Information being extracted from http://franz.com.

For a complete listing of the new features in Gruff, see the Release History

Graphical Query View

The View menu has a new Graphical Query View command to switch to the new view (shortcut is E). In this new view you mainly use pop-up menus rather than menu bar commands, by right-clicking the background, nodes, and link lines to see their various context-sensitive menus.

The Graphical Query View allows creating queries as diagrams of nodes and links. A query diagram can include actual objects from the store, which you select as in other views, while other nodes and links represent query variables. Group graph patterns such as UNION and OPTIONAL groups can be laid out as grouper boxes that can be nested to any level, with proper nesting maintained automatically.

Once you've created a query diagram, Gruff will generate either SPARQL or Prolog code for the query. Seeing the generated query text can help you learn to write SPARQL or Prolog queries better. You can also edit the generated text before performing the query. You can save queries either as graphical diagrams or as actual query text, and load them any time later for modification into related queries. You can even generate a visual graph from query results, showing the network of all triples that are comprised of nodes and predicates that are in the query results and the query itself.

Graphical Query View Demonstration

The demonstration video is also available in .wmv format here.

Features

Gruff is an interactive triple-store browser, query manager, and editor that is built on AllegroGraph. Information can be browsed as visual graphs of nodes and link lines that are layed out automatically, and also as tables of properties for particular nodes. Queries can be written textually as SPARQL or Prolog code, or designed graphically as diagrams of nodes and link lines. Data can be created and edited by filling in tables of property values. The various views and tools are tightly integrated to facility rapid browsing, querying, and editing.

The graph view displays a "visual graph" of a subset of the nodes and links that are in the store that you are currently browsing. The nodes are automatically arranged (or "layed out") to make the relationships readable. The layout algorithm specializes in cyclic graphs that are common in triple-stores, which often express many relationships between various objects. The algorithm avoids link lines that pass through unrelated nodes, so that it is easy to spot all of the nodes that are linked with any other node. A node in the graph view is a labeled box that represents a resource or literal in the store. A link is a straight line segment between two nodes that represents one or more of the triples that link those nodes.

The table view displays a table of all of the properties of a single node, which is known as "the displayed node". You can browse from that node to linked nodes in the usual hyperlink way, and edit the property values. Each row of the table represents a single triple that's in the store.

The query view displays a view where you can do a SPARQL or Prolog query and see the results in a table. Nodes in the results table can then be viewed in detail in the table view, or added as nodes to the graph view. To do a query, first decide whether you want to do a SPARQL query or a Prolog query, and select the corresponding radio button at the upper left.

The graphical query view allows devising a query "visually" as a diagram. This is done by arranging node boxes and link lines that represent triple patterns in the query, where the triples patterns can contain variables as well as actual objects that are in the store. A hierarchy of group graph patterns can also be specified be wrapping nested grouper boxes around sets of nodes. General and specialized filters can be specified as well. A SPARQL or Prolog query can then be automatically generated from the diagram and executed as usual in the query view.

Gruff can also be used programmatically, and can be built into a standalone application. This allows calling Gruff functions to build a visual graph with more complete programmatic control.


Additional Resources

Copyright © 2014 Franz Inc., All Rights Reserved | Privacy Statement
Delicious Google Buzz Twitter Google+