Gruff Release History

Version 5.3.1
  • You can now highlight a block of nodes in the graph view by control-left-clicking down on the background and dragging a box downward and to the right to surround the nodes to highlight. You can similarly pin a block of nodes with shift-left-click instead of control-left-click.
  • You can drag all of the highlighted nodes in the graph view as a block by dragging any one of them.
  • The command "Link | Display Linked Nodes for the Current Predicates" will now be applied to all highlighted nodes at once when there is no single selected node. The commands "View | Copy" and "View | Paste" can now be used to copy multiple highlighted nodes in the graph view or the graphical query view, and then to paste the multiple nodes at once into any view. (This is done only when there is no single selected node.)
  • The new option "Visual Graph Options | Node and Link Color for Types | Types to Prefer for Node Color" allows you to specify types that should be selected first for coloring nodes in the graph pane. The right-click pop-up menu for a node has the new command "Select Preferred Type for Node Colors" to add one of the selected node's types to this list.
  • The new option "Link | Triples to Include | Include Triples as Subject Only" and " ... as Object Only" restrict the nodes that are displayed by "Link | Display Linked Nodes for the Current Predicates".
  • The new option "Global Options | Miscellaneous | Treat Literals as Objects" lets you optionally treat each literal node as an object that is linked with every node that has that literal as a property value. It is turned off by default, and you would need to turn it on to return to the previous behavior.
  • The new option "Visual Graph Options | Spring Layout Options | Reduce Nodes Overlapping Links" causes the spring layout to reduce overlapping for a more readable layout. It's on by default, though it takes longer. To return to the previous faster but less tidy behavior, turn this option off.
  • The graphical query view now supports grouper boxes for the SPARQL expressions MINUS, FILTER EXISTS, and FILTER NOT EXISTS. The commands for adding a grouper have been moved to a child menu of the right-click pop-up menu for the graphical query view background.
  • You can now browse a SPARQL endpoint through an HTTP proxy. The option "Global Options | Communications | HTTP Proxy" replaces an option that had been used only for fetching microformat (RDFa) data.
  • The command "View | Browse a Single Graph" is now supported with SPARQL endpoints.
  • You can now "warm up" a store, which loads internal data into physical memory for fast access. See new check boxes in the lower right corner of the dialog for opening a store, as well as the new command "Global Options | Miscellaneous | Warm Up the Store".
  • File | Save Layout as Pixmap will now (by default) include the legend in the pixmap file that it creates. For the previous beahvior that does not include the legend, turn off the new option "Visual Graph Options | Inclusion Options | Include Legend in Saved Pixmaps".
  • Fixed: Failures happened with a SPARQL endpoint if it returns bindings in a different order then they are specified in the list of selected variables in SPARQL queries.
  • Fixed: Starting with version 5.2.0, doing a layout command while another layout is still running would return to the first layout when the second one finished, losing what the second layout did. This fix allows you to once again interrupt a layout with another layout command.
  • Fixed: When doing a layout with animation turned off, the overview pane sometimes displayed a messy early state of the layout instead of displaying only the final state.
Version 5.2.1
  • The new command "File | Connect to SPARQL Endpoint" allows browsing any SPARQL endpoint directly, without using an AllegroGraph store. 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.
  • The new option "Text Search | Text Search Timeout" avoids a hang if a text search takes a long time.
  • The new option "Visual Graph Options | Node and Link Color for Types | Use Most Specific Type for Node Color" allows saving some time by coloring each node for any of its types rather than for the type that has the longest subClassOf chain.
  • The new option "Outline Options | Indicate Which Items are Openable" allows saving some time by not showing hollow arrows to indidate which outline items would do nothing if you tried to open them.
  • Fixed: Generating a visual graph from query results could fail for some queries due to a glitch that was new in 5.1.5.
  • Fixed: Decimal typed literals were being displayed as ratios.
  • In the table view, the "I" and "Shift-I" commands (see the pop-up menu) now scroll by most of a page rather than only a third of a page.
  • The selected node (if any) is no longer fixed at the center of the graph view pane when doing a layout. This was judged not useful enough to somewhat restrict the layout.
  • A few options on the Global Options menu have been moved to a new "Global Options | Pop-Up Menus" child menu.
  • You can now replace a triple in the graph view by dragging one end of a link line to a different node. That runs the new command "Graph View Link | Drag to Replace Triple". Also, the new command "Edit | Create a Triple Using Most Recent Predicate" is a variation of an existing command that avoids asking you to select the predicate every time.
  • The new command "Remove | Remove All Unhighlighted Nodes" will remove from the display all nodes that are not highlighted, with their link lines. This allows starting fresh with a small subset of the currently displayed nodes.
  • The new user option "Global Options | Node Label Predicates | Custom Predicates for Web Pages" allows you to specify predicates that provide web page URLs to send to a web browser when using "View | Invoke Web Browser or Program".
  • The movement commands at the bottom of the Select menu are now applicable to the legend pane, along with their keyboard shortcuts. So after tabbing to the legend pane you can press J and K to move to the next or previous legend item, or L to jump to the other group of items, and then press M to invoke the pop-up memu for the selected legend item.
  • A few keyboard shortcuts have changed. "View | Add Selected Node to Outline" now uses Shift-O to make it easier to remember. "Remove | Remove All Orphan Nodes" and "Remove All Leaf Nodes" have moved to Shift-Z and Control-Shift-Z, joining the new command to remove unhighlighted nodes, which uses Control-Alt-Z.
  • Fixed: Doing a query sometimes did not recognize namespace abbreviations that had been entered with "Global Options | Namespace Abbreviations".
  • Fixed: The option "Global Options | Pop-Up Menus | Show Full URIs in Pop-Up Menus" caused pop-up menus that list nodes to display extraneous internal information.
  • Gruff now supports "graph-part reification", where a node that is used as the graph part of only a single triple can be used to represent that triple, allowing reification by other triples that have that node as their subject or object. This is very similar to Gruff's support for triple-id reification, with link lines for reifying triples connecting to the middle of link lines for reified triples in the graph view. In the table view, clicking the name of the graph at the right will display the table of all triples where that graph node is the subject or object. And triple-id reification is now supported when the triple-id node is used as the subject of the reifying triples, rather than as the object as usual. Right-clicking a link line instead of a node and using the command to drag a new triple will create a reifying triple where the subject (rather than the object) is the triple-id node. The link line command to display a reifying triple of that triple now has an option to display all of them.
  • Gruff now properly supports resource nodes that use encoded ID's, which were new in AllegroGraph 12.2.
  • Fixed: Loading visual graph layouts that include reifying triples had gotten broken at some point.
  • Fixed: The command "File | Federate Recent Stores" was apparently broken several months ago.
  • Fixed: Encoded time llterals (as opposed to encoded date and date-time literals) were not displayed correctly.
  • Pop-up menus that let you select a recent namespace now uniformaly have a special choice at the top called "Other Namespace (or None)" for continuing without using one of the suggested namespaces, so that you don't need to know to unintuitively cancel the menu to proceed. Canceling any pop-up menu should now cancel the entire command.
  • The new user option "Visual Graph Options | Node and Link Color for Types | Types to Avoid for Node Color" lets you list types that are less interesting to use for node color in the graph view, so that other types are shown by color instead. The pop-up menu for a type node in the legend also has a new command to add that type to the list.
  • Fixed: Changing the user option "Global Options | Widget Font" was having no effect.
  • The new HTTP command connect-to-endpoint is an additional way to connect to a SPARQL endpoint.
  • The new command line argument --disable-menus (or -d) can be used to turn off all pull-down and pop-up menus to prevent the user from controlling Gruff interactively, such as when controlling it exclusively with remote HTTP commands.
  • The pop-up menu command to invoke your web browser on the URI of the selected node has been moved to the menu bar at "Graph View Node | Invoke Web Browser or Program" to make it more visible. The V key shortcut can now be used in all views.
  • The new option Global Options | Miscellaneous | Display Graph-Part Reification must be enabled to make Gruff automatically look for and display graph-part reification relationships. It's off by default to avoid the time that it takes.
  • You can now do text searches in a federation, though only in the combined text indexes of all of the federated stores, rather than in a single one of them.
Version 5.1.7
  • Fixed: Path-finding was failing if the user does not have permission to run arbitrary code on the remote server.
  • Fixed: Most label properties were not displayed in some places if the user does not have permission to run arbitrary code on the remote server. This bug was new in 5.1.5.
  • Fixed: Label properties were not displayed for nodes when requested if the label values are typed literals rather than simple literals or language literals. This bug was new in 5.1.5.
  • Fixed: Generating a visual graph from query results could fail for some queries. This bug was new in 5.1.5.
  • Fixed: Decimal typed literals were shown as ratios.
  • Fixed: Certain operations on a node would break if the node is a geospatial.
  • Fixed: The new option "Table Options | Display Links to Reifying Triples" did not totally avoid the ineffiency of looking up reifying triples in the table view by default as believed.
  • Fixed: Pasting a URI into the query text widget did not paste a shorter string with namespace abbreviation when applicable.
  • Fixed: The animation demo would leave some nodes thinking that they have fewer triples than they actually do.
  • Fixed: The animation demo broke when the actors store was opened in read-only mode, and so users who do not have permission on the server to use read/write mode could not run the demo.
Version 5.1.5
  • A variety of efficiency improvements have achieved significant browsing speedups, especially in large remote triple-stores. In particular, a faster technique for retrieving label properties for a batch of nodes has allowed using label properties more consistently, rather than using workarounds that avoided looking up label properties in some circumstances to avoid the lookup time.
  • There is now a single option for whether to use label properties for node labels, rather than three separate options for whether to show them in particular views or in the list of text search matches. The new single option is at "Global Options | Node Label Predicates | Use Label Predicates for Node Labels", and replaces the options "Visual Graph Options | Node Labels | Use Label Predicates for Node Labels", "Table Options | Use Label Predicates in Tables", and "Text Search | Use Label Predicates in List of Matches".
  • If the new option "Table Options | Sticky Multiple Property Values" is enabled, as it is by default, then left-clicking an individual predicate in the table view to collapse it or expand it will cause that predicate to continue to be collapsed or expanded as you visit further nodes, until if and when you later click that predicate again to re-expand or re-collpase it.
  • The option "Global Options | Node Label Predicates | Custom Predicates for Node Labels", along with the two similar options for comments and pixmaps, now saves the option values separately for each store rather than being used globally by all stores. If you have set up any of these custom predicates, then you will need to set them up again, and now you must do it separately for each store that uses custom predicates. This is to avoid wasting time looking up triples for custom predicates that are not used at all in the currently open store.
  • The command "Display | Display a Node by Label" now works with custom label predicates (as set up with "Global Options | Node Label Predicates | Custom Predicates for Node Labels"), rather than working only with rdfs:label triples.
  • The command to display any node in the store by selecting it from a sequence of pop-up menus has been removed, because it was workable only in very small stores.
  • Creating a text search index is faster (on AllegroGraph 4.x), by no longer initially indexing all predicates before asking which predicates you actually want to index.
  • The new option "Table Options | Display Links to Reifying Triples" is initially disabled for efficiency, and must be turned on to regain the behavior where any triple that has reifying triples will have a clickable icon in the table view for jumping to the reifying triples.
  • Fixed: The graphical query view could break when adding a non-variable node with the command "Text Search | Find and Display Nodes".
Version 5.1.0
  • New collapsable predicates in the table view. The new option "Table Options | Show Multiple Property Values" can be turned off to initially display only a single row in the table for each property. When the property has only one value it will be displayed as usual, and otherwise only the number of values for that property is displayed. Left-clicking a property cell toggles just that property between its collapsed and expanded views.
  • The freetext commands have been modified to make them easier to find and understand. They are now on a new Text Search menu, have simplified names, and their keyboard shortcuts have moved from the somewhat obscure semicolon key to the H key. (Commands that had used H key shortcuts now have different shortcuts as well.) The "View | String Search" command has also been moved to the new menu, now called "Search the Current View". The common term "text search" is now used instead of the less well-known terms "freetext" and "string". Also, creating a new text index will now automatically show the dialog for setting its parameters.
  • The new option "Text Search | Use Label Predicates in List of Matches" allows specifying whether to look up meaningful label properties to display in the list of text search matches. This is off by default, which is unlike the old behavior, and which makes text searches much faster to display the matches, though node names may not be meaningful in some stores.
  • The familiar Control-Plus and Control-Minus keystrokes can now be used to quickly adjust font sizes. This is a quick alternative to the menu bar commands for various font options.
  • The command "Help | Animation Demo (Actors Store)" runs a brand new automated demo, replacing one that wasn't very useful. This command now requires that you first open the actors store, which can be created from the actors sample triples on the Franz web site.
  • Miscellaneous efficiency improvements have been made to reduce the time spent retrieving triples from the server, especially in larger stores.
  • Fixed: In the graph view, some link lines could end up pointing to an invisible copy of the node that they should be pointing to.
  • Fixed: Reifying link lines in the graph view broke when zoomed out.
  • Fixed: The new single dialog for opening a store was not updating the lists of catalogs and stores at certain times if the server does not allow anonymous access to the lists of catalogs and stores.
  • Fixed: The query view results table sometimes did not provide enough text lines for a wrapped literal. And the small grids at the bottom that list nodes and predicates from the query text did not adjiust their row heights to the user's preferred table fonts.
  • Fixed: Zooming out all the way with the mouse (Control-Alt-RightClick) sometimes did not center the graph, leaving parts of it scrolled out of view.
  • Fixed: When editing a literal value in the table view, the Control-N Emacs keystroke to move to the next was not working.
  • The new somewhat obscure user option "Global Options | Miscellaneous | Minimum Triples for Individual Property Lookup" could be adjusted to optimize the efficiency with which triples are fetched and cached in smaller and larger stores.
  • A new --exterior command line argument may now be passed when starting Gruff, to specify the window position and size.
Version 5.0.12
  • Opening or creating a store now displays a single dialog with a set of widgets for the various parameters, rather than a series of individual prompts. If there is any need to revert to the former style, that could be done by turning off the new option "Global Options | Miscellaneous | Use Single Dialog for Opening Stores".
  • There are new commands in the HTTP interface for highlighting nodes, displaying all triples (up to a limit), saving a layout for reloading later, and saving a layout as a pixmap.
  • The new command "Layout | Update Layout Conservatively" always does a conservative version of the original constraint-based layout algorithm, to spruce up the result of a spring layout when desired.
  • When browsing a reasoning store, triples may now be created and deleted in the base store, though inferred triples may not be deleted.
  • In a reasoning store, the table view now indicates which triples are inferred.
  • Fixed: The new command "Select | Copy Highlighted to Graphical Query View" broke when one of the highlighted node pictures has bridge link links to other copies of itself.
  • Fixed: The new spring layout broke when there are reification link lines (which connect to other link lines instead of to nodes).
  • Fixed: A recent bug broke right-clicking the link icon for multiple predicates in the graph view's legend pane.
  • Fixed: Words in node labels that are longer than "Visual Graph Options | Node Labels | Maximum Word Length in Node Boxes" will now wrap in visual graph node boxes even when the labels are supplied by label predicates.
  • Fixed: Saving a layout as a pixmap did not draw correctly when zoomed out.
  • Fixed: The Escape key would not abort a layout if the keyboard focus is in the overview pane due to clicking that pane for scrolling. (The Q key and the spacebar still worked.)
  • Fixed: The query view button to write a text report broke if the user had dragged the first results column to a different position.
Version 5.0.10
  • The new option "Global Options | Node Label Predicates | Custom Predicates for Node Pixmaps" allows using triples to supply images to display for any nodes in a store, rather than only for nodes whose values are the pixmap paths.
  • The new command "Select | Copy Highlighted to Graphical Query View" allows building a graphical query by copying a set of highlighted nodes and their links from the graph view to the graphical query view in one operation, and then turning some of the nodes and links into variables for a query.
  • Fixed: Doing a "View | Go Back" in the graph view to a state that had a different canvas size or zoom factor could the leave the pane scrolled to the wrong place, with most or all of the nodes out of view.
Version 5.0.8 Beta
  • The new spring layout now handles the existing predicate direction constraints, such as forcing all subClassOf links to point upward as in a tree graph.
  • You can now set or clear the layout direcction constraint for a predicate from the pop-up menu in the legend pane, rather than only from the "Visual Graph Options | Layout Options" menu.
  • Highlighted nodes in the visual graph (see Select | Highlight Selected Node or Link) are now drawn in a different way to make them easier to spot, with a thick blue border rather than a light red background color.
Version 5.0.3 Beta
  • Gruff has a new spring layout algorithm that it uses for larger visual graphs. It is much faster for larger graphs than the original constraint-based algorithm, though it does not prevent nodes from overlapping links. The new option "Visual Graph Options | Spring Layout Options | Minimum Nodes for Spring Layout" controls when the layout automatically switches between the two algorithms. Other new options on that same child menu control the spring layout behavior.
  • During a spring layout you can press the zero key to toggle animation on and off. That allows letting a large layout run at full speed and then turning animation on to see how far it has progressed.
  • Several new zooming commands on the Layout menu of the graph view provide alternate views of the larger visual graphs that can now be handled by the spring layout algorithm. Node and link labels are not drawn when zoomed out, though they do appear in tooltips. Full mouse and keyboard functionality is still available on zoomed-out nodes and links.
  • The mouse wheel now performs zooming in the graph view, rather than scrolling as before, though the new option "Visual Graph Options | Layout Options | Mouse Wheel Zooms" could be used to revert to the scrolling behavior.
  • The new command "Layout | Update Layout Vigorously" is an incremental layout that is better at untangling crossed chains of nodes.
  • The new option "Visual Graph Options | Layout Options | Maximum Nodes for Animation" avoids animating layouts when there are too many nodes and links for animation to be fast enough for interactive use.
  • Three options on the "Visual Graph Options | Inclusion Options" child menu now have much larger defaults because the new spring layout can handle larger graphs. The new defaults will override any custom values that you may have set. These options are "Number of Total Links for Warning", "Number of Total Links for Abort", and "Number of Links from One Node for Warning".
  • Displaying the results of completed queries is faster.
  • The new option "Query Options | Exclude Orphans from Visual Graphs" controls whether orphan nodes may appear in a visual graph that's generated from a query.
  • Nodes in the graph view can now display pixmaps, if triples are added to the store for that. If the UPI of a node names a pixmap file on the local machine, then the graph view will display the pixmap for the node, rather than a text label. The UPI string can be either an absolute path string or a relative path string that will be merged with "Global Options | Miscellaneous | Document Base Folder" to find the actual file to use.
  • The various commands for loading triples now allow you to select multiple files at once in the file selection dialog (when they're in the same folder).
  • The command on the Layout menu for moving a node to the center while doing a layout has been removed. It was deemed not sufficiently useful to warrant a spot on the menu bar, so tell us if you did in fact use that command.
  • Fixed: A recent change had slowed down jumping to linked nodes in the table view, especially in larger stores.
  • Fixed: With a large graph displayed, clicking down and up in the overview pane and then moving the mouse had scrolled to where the mouse moved after the button was released.
Version 4.1.5
  • 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).
  • Chinese Language Enhancements and numerous optimizations.
  • Updated: Federation is now done on the server for general efficiency and to allow queries. Selecting multiple stores (in the same catalog) with "File | Open Remote Triple-Store" will always do the federation on the server. And "File | Federate Recent Stores" will federate on the server when all of the selected stores had been opened remotely and on the same server, and otherwise it will still federate on the client. Doing federation on the server allows SPARQL and Prolog queries to work on the federation.
  • The HTTP command to find and display paths between two nodes was recently broken when no predicates argument is passed (which means to find paths for all predicates).
  • The query HTTP command has a new show-graph-before-dialogs option to switch to the graph view before showing dialogs that ask the user what to do when there are many results, when generating a visual graph from the query results.
  • Fixed: The query view was not allowing INSERT and DELETE SPARQL queries.
  • Fixed: In 4.1.3, copying an IRI that includes non-ASCII characters from a Gruff pane into the query string widget would paste the non-ASCII characters with ntriples-format \uxxxx encoding. (Other copy and paste bugs were fixed in that release, though.)
  • The new option "Visual Graph Options | Node Labels | Maximum Word Length in Node Boxes" will wrap long words at non-spaces in node boxes to avoid very long node boxes that interfere with graph layout.
  • On the Mac, where Gruff has a problem loading pixmaps from files, the default background pixmap for the graph view can now be used if you use "Visual Graph Options | Window Background | Background Pixmap" and select the pixmap whose name is light-cyan-blue-around-lighter.
  • The command "Open Remote Triple-Store" has been merged into "Open Triple-Store", and "New Remote Triple-Store" has been merged into "New Triple-Store". The commands will now always ask for the server (which can be the local machine). By default, stores are always opened "remotely" (using the HTTP interface), though the new option "Global Options | Communications | Use Direct Access When Possible" can be turned on to still use direct access whenever the specified server is the local machine. (On AllegroGraph 3, direct access is always used when the server is the local machine, because otherwise a separate server must be run in a lisp.) This change removes extra menu items, and encourages consistent usage of the HTTP approach.
  • Fixed: The query view was not allowing INSERT and DELETE SPARQL queries.
  • Fixed: A SPARQL query that returns counts for a variable showed all blank cells in the column for those counts. This was generally true for any returned UPIs that are not used in triples in the store.
  • Fixed: In 4.1.3, copying an IRI that includes non-ASCII characters from a Gruff pane into the query string widget would paste the non-ASCII characters with ntriples-format \uxxxx encoding. (Other copy and paste bugs were fixed in that release, though.)
  • Better support for geospatials. They no longer break a query when they appear in the query results (with a remote connection). Both coordinates are now properly displayed rather than just one of them. And a geospatial node can now be correctly copied and pasted from one view to another.
  • The new option "Global Options | Communications | Use Session Ports" can be turned off to avoid using a separate "random" port for each open store. This is one way to avoid problems if a firewall permits the use of only certain specified ports. Some other options have been moved from the "Global Options | Miscellaneous" child menu to the new Communications child menu.
  • The new option "Visual Graph Options | Node Labels | Maximum Word Length in Node Boxes" will wrap long words at non-spaces in node boxes to avoid very long node boxes that interfere with graph layout.
  • The HTTP command to find and display paths between two nodes was recently broken when no predicates argument is passed (which means to find paths for all predicates).
  • The new command "View | View Current Store in AGWebView" invokes your web browser program to show the current store in AGWebView, so that you don't need to construct the URI for the store yourself or to browse to it in AGWebView.
  • Really fixed: The problem where the query view's "Create Visual Graph" button did not include link lines for predicates that are also used as nodes in the store, which was believed to be fixed in 4.0.13, is now really fixed. The "Create Visual Graph" feature will now also exclude orphan nodes from the visual graph.
  • The new options "Visual Graph Options | Node Labels | Absolute Maximum Node Label Length" and "Table Options | Maximum String Length in Table" avoid ever trying to display an extremely long string.
  • Fixed: Toggling "Table Options | Fit Row Height to Text" did not update the current query results table.
  • The selected-node HTTP command that returns the currently selected node now returns the label that Gruff is displaying for it in addition to its actual IRI or literal string as before. (Code that calls this may need to be updated.)
  • For lisp applications that embed a Gruff node pane, methods can be written on the new generic function new-selected-node to be notified when the user has selected a different node.
  • The new option "Visual Graph Options | Tooltips | Tooltip Background Color" allows specifying your own color for tooltip windows.
  • The query HTTP command has a new show-graph-before-dialogs option to switch to the graph view before showing dialogs that ask the user what to do when there are many results, when generating a visual graph from the query results.
Version 4.1.3
  • rfe11933 - The command "Open Remote Triple-Store" has been merged into "Open Triple-Store", and "New Remote Triple-Store" has been merged into "New Triple-Store". The commands will now always ask for the server (which can be the local machine). By default, stores are always opened "remotely" (using the HTTP interface), though the new option "Global Options | Communications | Use Direct Access When Possible" can be turned on to still use direct access whenever the specified server is the local machine. (On AllegroGraph 3, direct access is always used when the server is the local machine, because otherwise a separate server must be run in a lisp.) This change removes extra menu items, and encourages consistent usage of the HTTP approach.
  • Fixed: A SPARQL query that returns counts for a variable showed all blank cells in the column for those counts. This was generally true for any returned UPIs that are not used in triples in the store.
  • Better support for geospatials. They no longer break a query when they appear in the query results (with a remote connection). Both coordinates are now properly displayed rather than just one of them. And a geospatial node can now be correctly copied and pasted from one view to another.
  • The new option "Global Options | Communications | Use Session Ports" can be turned off to avoid using a separate "random" port for each open store. This is one way to avoid problems if a firewall permits the use of only certain specified ports. Some other options have been moved from the "Global Options | Miscellaneous" child menu to the new Communications child menu.
  • The new command "View | View Current Store in AGWebView" invokes your web browser program to show the current store in AGWebView, so that you don't need to construct the URI for the store yourself or to browse to it in AGWebView.
  • Really fixed: The problem where the query view's "Create Visual Graph" button did not include link lines for predicates that are also used as nodes in the store, which was believed to be fixed in 4.0.13, is now really fixed. The "Create Visual Graph" feature will now also exclude orphan nodes from the visual graph.
  • The new options "Visual Graph Options | Node Labels | Absolute Maximum Node Label Length" and "Table Options | Maximum String Length in Table" avoid ever trying to display an extremely long string.
  • Fixed: Toggling "Table Options | Fit Row Height to Text" did not update the current query results table.
  • The selected-node HTTP command that returns the currently selected node now returns the label that Gruff is displaying for it in addition to its actual IRI or literal string as before. (Code that calls this may need to be updated.)
  • The query and display-linked-nodes HTTP commands to Gruff can now take an allow-dialogs=yes argument to allow Gruff to display interactive dialogs even when commands are invoked via HTTP.
  • For lisp applications that embed a Gruff node pane, methods can be written on the new generic function new-selected-node to be notified when the user has selected a different node.
  • The new option "Visual Graph Options | Tooltips | Tooltip Background Color" allows specifying your own color for tooltip windows.
Version 4.0.17
  • Anonymous access now works from Gruff. To use anonymous access when opening a store, enter either nothing or "anonymous" when prompted for the user name, and nothing for the password. The server must be allowing anonymous access for the requested store, of course.
  • Federation is now done on the server for general efficiency and to allow queries. Selecting multiple stores (in the same catalog) with "File | Open Remote Triple-Store" will always do the federation on the server. And "File | Federate Recent Stores" will federate on the server when all of the selected stores had been opened remotely and on the same server, and otherwise it will still federate on the client. Doing federation on the server allows SPARQL and Prolog queries to work on the federation.
  • New tooltip information can be displayed in the outline view. The new option "Outline Options | Show Comments When Hovering" will display the comment properties of nodes when holding the mouse cursor over them in the outline view. The new option "Outline Options | Wrap Text When Hovering" will display the full text of long node names that are truncated due to not fitting on a single line in the outline view. "Outline Options | Outline Hovering Delay" controls the hovering delay time, and "Outline Options | Maximum Width for Wrapped Text" controls the width of the column of wrapped text.
  • Custom predicates can be used for tooltip text. The new option Global Options | Node Label Predicates | Custom Predicates for Node Comments allows specifying predicates other than rdfs:comment for supplying the text to display in tooltips in the graph view, and now in the outline view as well.
  • Truncated nodes can be expanded on the fly in the graph view. The new options "Visual Graph Options | Node Labels | Show Full Label When Selected" and "Visual Graph Options | Node Labels | Show Full Label When Under Mouse" allow expanding truncated long node labels in the graph view to show their complete text when either selecting the nodes or moving the mouse over them.
  • Creating the table of query results is faster. This includes when revisiting queries such as with "View | Go Back".
  • Fixed: "File | Open Triple-Store" was broken in 4.0.14 on AllegroGraph 4.x, and "File | Open Remote Triple-Store" needed to always be used instead (though the latter is needed on most platforms anyway).
  • Fixed: The outline view truncated some strings on the right side on Mac and Linux. The horizontal scrollbar also did not appear in the outline view when needed.
  • Fixed: Editing "Global Options | Node Label Predicates | Custom Predicates for Node Labels" could sometimes break.
  • Fixed: Sometimes on certain machines (Windows only), a bogus off-screen position of the Gruff window could be written to the options file, causing Gruff to not be visible when started back up.
  • Fixed: The query HTTP command may have broken when requesting an optional layout but there were more nodes in the query results than "Visual Graph Options | +Inclusion Options | Number of Total Links". And the returned status message now mentions the number of query results, with a note when this was too many for a visual graph, and no longer claims success for an error other than a timeout.
  • Fixed: The store-info HTTP command with the store-name option did not return the store name when it was opened interactively in Gruff with the standard store-opening commands (not including the list of recently-used stores).
  • Fixed: Turning on "Outline Options | Show Full URIs in Outline" did not update the scrollable width of the outline view.
Version 4.0.14
  • The table view will now display the name of the graph that each triple is in, when they are not in the default graph.
  • Fixed: Gruff's editing functionality did not support multiple graphs, always creating a replacement triple or recreated triple in the default graph rather than into the graph of the original triple. Also, creating a new triple will place it into the graph that is currently being browsed by itself, if any; see "Display | Display Triples of One Graph".
  • A new approach for "File | Extract Triples from RDFa Web Page" works for additional microformats other than RDFa. (Though the new option "Global Options | Miscellaneous | Use any23.org for RDFa" allows reverting to the old approach.)
  • Fixed: Copying and pasting nodes from one Gruff view to another did not work for literals and blank nodes.
  • Fixed: Generating a visual graph from query results was not complete when a URI in the results is used as both a node and a predicate in the store.
Version 4.0.12
  • Enhancements to the HTTP interface for external control of Gruff. New HTTP commands cover federating stores and adding reasoning, selecting and pinning nodes, removing nodes from the display, fetching and setting any numeric and boolean user options, updating the layout, and setting the layout direction constraint of a predicate. (See the existing command for opening a store for the new federation and reasoning options.) Also, the HTTP query command can now take a keep-old-nodes argument when laying out triples from query results. Timeouts during queries or path-finding now return a proper failure status. The ntriples option of the lay-out-triples command now handles backslash escape sequences as in ntriples files. And Gruff's status bar will show the response strings that are returned by HTTP.
  • Federations will now be listed in the set of recently-open stores on the File menu, allowing a federation to be recreated quickly in later Gruff sessions. Federation is now done on the server, which allows SPARQL and Prolog queries to work in federations.
  • Path-finding is more robust and efficient by doing the entire search on the server, and no longer fails to display some paths that were found (such as paths that include blank nodes or encoded typed literals). The end nodes of paths may now be resources, literals, or blank nodes, rather than only resources as before.
  • Initially finding all predicates in the store (for presenting them as choices) is faster.
  • Still more HTTP commands. The new HTTP commands current-predicates and display-linked-nodes allow remote software to establish the current predicates and then to display nodes that are linked by those predicates. The find-paths command can take predicates=current to find paths for the current predicates. The new node-position HTTP command allows finding out where a node is currently positioned and to move it to a new position. The new number-of-nodes HTTP command returns the number of nodes that are currently displayed in the graph view, and the new node-at-index command returns the URI or literal string of the node at a particular index.
  • Fixed: Typed literals that are encoded in the store were not being found from strings that are entered interactively by the user or passed in HTTP commands.
  • Fixed: A freetext search expression that has a "phrase in quotes" or wildcard characterss in a word that's inside a logical expression was not finding matches.
  • Fixed: SPARQL queries broke on SPARQL 1.1 non-simple predicates.
  • Fixed: A language literal or typed literal that was entered by the user or returned by the path-finding commands was sometimes getting interned as a resource rather then finding a matching existing literal.
  • Fixed: "Remove | Remove All Leaf Nodes" sometimes removed some nodes that were not leaves.
Version 4.0.7
  • 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).
  • A fair number of keyboard shortcuts have changed, to make things more consistent with the new outline view. In particular, the unshifted shortcuts on the Display menu now add the shift key; the shortcuts for selecting current predicates are now P and Shift-P instead of I and Shift-I; and O now switches to the outline view, so removing orphans is now Shift-O, and removing leaves is now Control-Shift-O.
  • The dialog for choosing current predicates is simpler. The two columns for choosing predicates in each of the two "triple directions" have been collapsed into a single column. The multiple columns were deemed more confusing than useful.
  • There are additional commands in the HTTP interface, for invoking Gruff from external software.
  • Many miscellaneous improvements.
Version 3.1.18-19
  • Fixed: Freetext queries that contain wildcard characters did not work on AllegroGraph 4.x in a remote Gruff on Windows or the Mac.
  • Fixed: Sometimes an operation from a pop-up menu such as selecting a certain type of node would claim that there are no nodes of that type the first time you try.
  • Fixed: Selecting a node by freetext for an edit in the table view would display the node in the table after it used it for the edit.
  • Displaying encoded typed literals whose values are not strings was broken recently, and is now fixed. And encoded literals of type "date" now display a reasonable label for the first time.
  • Finding all types and all predicates in the store (for menu choices) is much faster.
Version 3.1.15-17

A fix for non-string encoded types. A bad bug has been fixed that broke Gruff whenever it displayed a literal node that uses an encoded type whose value is not a string.

  • Ubuntu-specific fixes. Two problems that caused Gruff to become very confused on recent releases of Ubuntu have been fixed.
  • Reselecting sets of current predicates. The new command "Link | Use a Recent Set of Current Predicates" allows quickly reselecting a set of current predicates that you've used recently in the currently open store.
  • Controlling menu width. The new option "Global Options | Maximum Menu String Length" determines the length at which strings on menus will be truncated to avoid overly wide menus.

Controlling Gruff from external software via HTTP. Gruff can now start up an HTTP server and then handle several commands from external software to do things like laying out an arbitrary set of triples, doing queries, and displaying properties in the table view. See the new command "Global Options | Start HTTP Server" and the new documentation section "The HTTP Interface to Gruff" at the end of the single Gruff document.

Version 3.1.11-14

Fixed: Sometimes the bottom line of a three-line node label in the graph
view was chopped off on the GTK platforms.

Quickly toggling tables between one-text-line-per-property and full
text. The existing option "Table Options | Fit Row Height to Text" now
updates the table immediately, and has a keyboard shortcut for quickly
toggling the view.

Suppressing multiple line styles. The new option "Visual Graph Options
| Node and Link Color for Types | Suppress Link Line Styles" causes all
link lines in the graph view to be drawn in the same way.

Fixed: Clicking in the empty area below the bottom of all table rows was
breaking.

Fixed: The pretty label for a literal contained backslash characters
before any embedded double-quote characters.

Fixed: The editing pop-up menu in the table view showed the reverse
keyboard shortcuts for adding a new row for the same or different
predicate.

Finding paths when using a remote server is much faster. The new
(perhaps temporary) option "Visual Graph Options | Finding Paths Between
Nodes | Find Remote Paths on Server" can be toggled off to compare the
old basic approach with the new faster approach.

The new command "File | Load Triples | Load Turtle" allows loading
triples from a file that's in Turtle format.

Bug fixes

Version 3.1.10
  • Fixed the recently broken graphical query view. Some basic things were broken in the graphical query view in the previous release (3.0.8), including simply left-clicking a variable node.
  • Fixed saving layouts that include blank nodes. This had worked earlier, but became broken somewhat recently without being noticed.
  • Fixed a shrinking pane in the query view. The query string widget in the query view was getting a bit shorter each time Gruff was restarted. That required the user to eventually use the split-bar widget to drag it taller again. The split-bar positions will also now be restored from the previous Gruff session.
  • Selecting a node of a predicate in the graphical query view. In the graphical query view, when you select a different non-variable node for a node picture, if a link line for a non-variable predicate is connected to the node picture then there will be a new option to select a subject or object of that predicate as the replacement node.
  • Clarifying the term "Label Properties". Various options that had used the expression "Label Properties" now speak of "Label Predicates" instead. This is to avoid the impression that the options are about attributes of labels, when in fact they deal with predicates whose values are used as labels.
  • Fixed saving layouts as pixmaps on GTK. On Linux and the Mac, saving a layout as a pixmap had left a blank rectangle in the saved image where the file selection dialog had covered it.
Version 3.1.8
  • Shortcut menus in the graph view. There are now right-click pop-up menus in the graph view, as in other views before. There are separate menus when clicking on a node, a link line, or the background. The commands are mostly borrowed from the menu bar.
  • Store-editing in the graph view. Triples can now be created, reversed, and deleted in the graph view, rather than only in the table view. The new commands are both on the Edit pull-down menu and on the new pop-up menus for nodes and links. When creating a triple by linking displayed objects, clicking on a second node will create a "regular" triple for the two linked nodes, while clicking on a link line will create a triple that reifies the triple of that link line.
  • Reification support in the graph view. The graph view now displays reification intuitively by drawing a link line from a reifying subject node directly to the middle of the link line for the triple that it reifies. Also, if a link line's triple is reified, then a command on its pop-up menu allows you to display a reifying triple. And a triple ID node has a pop-up menu command to replace it with the nodes and link of the triple that it represents.
  • More reification support in the table view. Any table row whose triple is reified will display an icon that indicates how many reifying triples it has, and that icon can be clicked to display the reifying triples. Also, when replacing the object of a row with a triple ID node, it will now offer a menu of all of the triple ID nodes that you have copied in the current Gruff session.
  • Adding nodes to a relatively large visual graph is faster. Inefficiencies in finding other displayed nodes that are linked by the current predicates were fixed.
  • The keyboard shortcut for showing pop-up menus (in all views) is now the M key rather than the N key.
  • The command "Link | Display Linked Nodes from a List" had been renamed to "Display Linked Nodes from a Tree" for clarity.
  • Namespace abbreviations bug fixed. A recent bad bug was fixed where the global namespace abbreviations were wiped out when opening a store.
  • New CSV query output format options. There are two new options for the format of CSV query output, namely "Query Options | CSV File Include Full URIs" and "Query Options | CSV File Include Column Headers".
  • Delivering stores that access document files. The new option "Global Options | Document Base Folder" allows specifying relative pathnames of documents as node values, and then passing the store and document files to others who could place the documents into a folder of their own choice and then use Gruff to invoke other programs to view the documents.
Version 3.0.36
  • Gruff for AllegroGraph 4 on Windows and Mac. Gruff now works as a remote client on Windows, Mac, and Linux with an AllegroGraph 4.3 server that's running on 64-bit Linux as usual.
  • Creating a remote store. The new command File | New Remote Triple-Store allows creating a remote store in Gruff. Previously for a remote store you needed to create it outside of Gruff and then open it in Gruff.
  • A cleaner menu bar. Pull-down menus or some of the commands on them are now removed in views where they are not applicable, to decrease the clutter of many menu commands. As part of this, the options menus have been reorganized, grouping options according to the views in which they are available.
  • Reification support. There is new support for reification when using either triple-id typed literals (as we suggest) or RDF-style reification. Labels for triple-id nodes and rdf:Statement nodes will mention the three parts of their triples, and a triple-id node that is displayed in the table view will have special rows for the three parts of its triple. You can create reified triples in the table view starting with the new command "Table View Value Column Navigation | Copy Triple ID to Clipboard" (see the documenation). And fancier reification support in the graph view is coming up!
  • Freetext enhancements on AllegroGraph 4:
    • On AllegroGraph 4, the new command "Display | Current Freetext Index" allows selecting any freetext index to search and/or modify, rather than always using a single index called "gruff". This allows quickly switching between various already-indexed sets of predicates to search. The command also allows creating a new freetext index with some arbitrary name, and the menu of indexes includes an option to delete an index.
    • On AllegroGraph 4, the "Display | Edit Freetext Predicates" dialog has additional widgets for specifying options such as whether to index resources (rather than literals only), which triple fields to index, the minimum character length for indexed words, and stop words that are never indexed.
    • On AllegroGraph 4, you can now use either the AG 3.3 or 4.x style in a freetext query string that contains a word containing wildcard characters or a phrase with embedded spaces. Previously there was no way to specify a phrase on AG4, and wildcard words did not work when specified as in the example on the dialog.
  • Better support for international characters. Non-ASCII characters are now handled when editing values in the table view, and when entering query strings and freetext search expressions. Also, the new option "Drawing Options | Auto Font Switching on Text Entry" controls whether text-editing panes in Gruff automatically switch fonts when needed to draw inserted characters properly, which may be needed for Asian characters especially. (There are also two somewhat related options, Edit | Percent-Decode Characters for Editing and Edit | Percent-Encode Non-ASCII After Editing, though those options are preliminary and still under discussion.)
  • Fixed: On Linux or Mac, Gruff could mistakenly believe that the user had immediately aborted certain operations such as clicking on a second node for finding paths, or dragging a new predicate link in the graphical query view, or specifying the selected or ordered variables there. (This happened when Gruff hadn't received a key-up event for the Escape key some time earlier.)
  • Fixed: At some point "Link | Display Only Paths Between Two Nodes" stopped pinning the two end nodes at the left and right sides of the window, to stretch out the paths horizontally between them.
  • Fixed: "Global Options | Widget Font" did not affect radio buttons and check boxes.
  • Fixed: Changing the canvas size in the graphical query view left grouper boxes in the wrong place.
  • The graph view reflects table view edits. Whenever a triple is created or edited in the table view, the nodes and link for that triple are now automatically added to the graph view. So now the graph view not only serves as a history of what you've visited in the table view as before, but also as a history of what you've edited in the table view as well.
  • The query pane handles resizing Gruff small better.
  • Visiting web pages from the query view. You can visit the web page of a node from the query view's results table, as with the table view before. See the right-click pop-up menu.
  • No more option to exclude literals. We have removed the Include Literals option, and it now effectively is always true. It was deemed a rather arbitrary distinction that was more potentially confusing than useful.
Version 3.0.11
  • Updated to use new Mac OS X GTK+ Framework installation. This new version of Gruff should be much easier to use on Mac OS X installations, due to the GTK installation being much easier to install. It no longer relies on Mac Ports. See the new installation instructions for X11 and GTK for use with Gruff.
  • Allow removing namespace abbreviation mappings.
  • Stop showing a warning dialog at startup if restriction reasoning is enabled.
Version 3.0.9
  • New user option Inclusion Options | Reasoner Enables Restriction Reasoning.
Version 3.0.4
  • New store-editing functionality 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.
  • New command File | Extract Triples from an RDFa Web Page. The subset of triples that are extracted can be controlled with the new option Inclusion Options | Ignored RDFa Relationships. This command can be used behind a firewall by using the new option Inclusion Options | HTTP Proxy.
  • The table view has a separate shift-right-click menu of navigation commands. The commands have shortcuts for moving around the table with keystrokes.
  • Some renaming and moving of commands. The Add menu is now called the Display menu to differentiate it from the new functionality for creating triples. The Table & Query Options menu has been merged into other menus, mostly into a Table View child menu of the Drawing Options menu. Commands on the Link, Remove, Select, and Layout menus that are not specific to the graph view have been moved to other menus, especially the View menu. The former "Undo / Go Back" command is now simply the "Go Back" command, while the new "Undo" command relates to creating and deleting triples.
  • New command Display | Display a Recently-Selected Node. This is handy for starting a new Gruff session by displaying one or more nodes that you were using in the previous session for the same store.
  • An important fix for URI-encoded (percent-encoded) nodes. When deriving pretty labels for nodes from URIs, percent-encoded characters (%xx) were not handled correctly, leading to garbage characters in node labels.
  • Improvements to Drawing Options | Namespace Abbreviations.
  • New option Layout Options | Do Automatic Incremental Layouts. This allows suppressing automatic layouts when you have nodes arranged where you want them.
  • New option Drawing Options | Table View | Display Literals of All Languages. It defaults to true, which is NOT the old behavior.
  • New option Inclusion Options | Finding Paths | Maximum Paths to Display.
  • New option Inclusion Options | Confirm Exit.
  • Basic Emacs editing keystrokes can be used in the query text widget. Also when editing values in the table view.
  • Query results can be written to file as textual tables. See the various new options on the Inclusion Options | Query Options menu and the new Write Text Report button widget in the query view.
  • Invoking other programs to display documents. (Windows platform only.) The control-shift-left-click gesture for visiting the web page that a node names will instead invoke a program to display a document if the node value appears to name a non-HTML document file. This will use the program that's registered for that type of file, unless the new option Drawing Options | Table View | Use Web Browser for All Documents is enabled.
  • A bad triple-indexing inefficiency is fixed. (This applies to AllegroGraph 3.3 only.) For efficiency, Gruff now indexes only new triples automatically, and provides the new command File | Index All Triples that you could use when you can wait for it.
  • You can now generate a bug report for a query error.
  • Inclusion Options | Remove Orphans on Node Removal is no longer true by default.
  • The documentation has been reorganized.
Version 2.0.30
  • New command View | Browse a Single Graph.
  • New command Add | Display Triples of One Graph.
  • New commands for loading triples from N-Quads and Trix files.
  • The new command File | Federate Recent Stores allows browsing a combination of recently-opened stores at one time. And on Agraph4 you can browse a federation of stores that are in the same catalog by specifying multiple store names in the "File | Open Triple-Store" dialog that lists the stores.
  • The behind-the-scenes collecting of all predicates, nodes, types, and classes for offering in menus is much faster.
  • New option Drawing Options | Link Labels | Draw Link Labels For Node Under Mouse.
  • Clicking a node or link in the legend will flash matches in the overview pane to show you where to scroll to them.
  • Fixed: Pop-up menus that are near the edge of the screen sometimes appeared far away from the mouse (on the Windows platform).
  • New option Drawing Options | Link Labels | Display subClassOf as Superclass.
Version 2.0.20
  • New Graphical Query View for constructing queries as diagrams.
  • The Graphical Query View has grouper boxes for group graph patterns.
  • New command File | Federate Recent Stores.
  • The list of recent stores now includes remote stores.
  • Gruff can open remote stores on Allegrograph 4.
  • A new way to select nodes and predicates from recently-used ones.
  • Returning to a state in the Table View restores the scroll position.
  • Menus of known catalogs and stores when doing an open on AllegroGraph 4.
  • Triples can be loaded from a web page rather than from a file.
  • You can create and open stores in catalogs other than root (AllegroGraph 4).
  • More command line arguments for opening a store at startup. select-distinct is supported in SPARQL queries.
  • New nodes are added at the mouse cursor rather than in the center.
  • Feedback when a command isn't applicable to the current view.
  • Multiple text lines for "Custom Properties for Node Labels".
  • Improved placement of link labels.
  • A bug on GTK with pop-up menus not appearing has been fixed.
1.6.7 on 19 May, 2010
  • Fixed: The new File | Export commands failed when bridge lines are present.
  • New option "Drawing Options | Case-Sensitive Sort for Menus".
  • URIs pasted into the query string box will now use namespace abbreviations.
  • Fixed: Loading gruff.fasl into lisp was broken in the previous release.
  • Fixed: Much of the API for use in lisp no longer worked as documented.
1.6.2 on 16 April, 2010
  • The View menu has three new commands for using an overview/scroller pane.
  • New submenu File | Export Displayed Data As ...
  • Child menu names are now included in the documentation.
  • New freetext command "Add | Edit the Set of Registered Predicates".
  • The dialog for selecting a triple-store directory has been improved.
  • A thick border is drawn in the table view between the as-subject and as-object groups.
1.5.2 on 18 February, 2010
  • Based on Allegro CL 8.2 and AG 3.3.
  • Now available on Mac OS X 10.5 or later, which requires install gtk2 and X11.
1.5.0 on 12 January, 2010
  • Fixed: Link | Add a Linked Node from Menus broke with more than 25 choices.
  • Fixed: The Help | Quick Start window was blank on 64-bit Windows.
  • There is a new File | Close Triple-Store command.
  • File | Load N-Triples prompts for a graph to place the triples into.
  • Control-shift-click no longer attempts to visit a web page for a literal.
  • Prolog queries now work when some returned values are not UPIs or strings.
  • Fixed a break with loading a layout that contains bridge lines.
  • Fixed a problem that could make File | Load RDF / XML fail.
  • Starting gruff with "gruff some-path" will open the store at that path.
1.4.1 on 15 July, 2009
  • New commands on the Add menu for displaying nodes that match freetext queries.
  • New dialogs allow selecting a subset of matches that exceed various user limits.
  • New option Drawing Options | Show Full URIs on Nodes.
  • New option Drawing Options | Specify Line Width for Selected Link's Predicate.
  • New option Drawing Options | Maximum Node Label Length.
  • New option Drawing Options | Enforce Maximum Node Label Length.
  • New option Inclusion Options | Maximum Choices When Selecting a Subset.
  • New button in the Query View to save the results as Comma-Separated Values.
  • Add a Node by URI no longer requires a ! with a namespace abbreviation.
  • Fixed status bar messages for busy states not appearing on Linux.
  • Fixed a bad inefficiency with finding all classes in a large class hierarchy.
  • Fixed a break when using Gruff on a Windows 2000 with no gdiplus.dll.
  • Fixed tooltips bringing Gruff to the front when moving the mouse over Gruff.
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
  • 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.
  • Copyright © 2014 Franz Inc., All Rights Reserved | Privacy Statement
    Delicious Google Buzz Twitter Google+