// JSON-LD for Wordpress Home, Articles and Author Pages. Written by Pete Wailes and Richard Baxter. // See: http://builtvisible.com/implementing-json-ld-wordpress/

Semantic Workbench – A Humble Beginning

As a way to work with semantic web concepts, including asserting triples, seeing the resulting inferences and also leveraging SPARQL, I have needed a GUI.  In this post I’ll describe a very basic tool that I have created and released that allows a user to interact with a semantic model.

My objectives for this first GUI were basic:

  1. Support input of a set of triples in any format that Jena supports (e.g. REF/XML, N3, N-Triples and Turtle)
  2. See the inferences that result for a set of assertions
  3. Create a tree view of the ontology
  4. Make it easy to use SPARQL queries with the model
  5. Allow the resulting model to be written to a file, again using any format supported by Jena

Here are some screen shots of the application.  Explanations of the tabs are then provided.

The program provides each feature in a very basic way.  On the Assertions tab a text area is used for entering assertions.  The user may also load a text file containing assertions using the File|Open menu item.  Once the assertions are entered, a button is enabled that allows the reasoner to process the assertions.  The reasoner level is controlled by the user from a drop down.

Any inferences are shown in a separate text area on the Inferences tab.  The inferences are displayed using the same format as was used for the assertions.  A tree view of the model is also created and presented on a third tab called Tree View (creative, I know).

Along with presenting the inferences and tree view, the model may be queried using SPARQL.  The SPARQL tab contains a text area for the query, a button to run the query and a text area which displays the results.

The processed model may also be written out to a file.  By default it is written using the format used for the original assertions.  However, the format may be changed by selecting a specific language from the Setup menu.  The setup menu also allows the user to decide whether to only save the assertions or to save both the assertions and inferences.

A simple semantic model is provided with the download of the project, using Wikipedia’s Turtle example, as a way to try out the application.  Note that you need to have Java 5 and Ant installed in order to run the program easily.  I am hoping that BitRock InstallBuilder will approve my project for their open source license option.

There are a lot of opportunities to improve the operation of this tool.  Allowing external data sources as part of the SPARQL query is something I intend to add shortly.  The presentation of the SPARQL output should be in a table rather than a text area.  The tree view needs to be greatly expanded, allowing for exploration to arbitrary levels of depth, properly reflecting class hierarchy, allowing for exploration by subject, predicate and object as well as grouping the URIs (e.g. not showing multiple entries for the same URI under a given node).

Additional functionality, including features such as extracting data from relational databases, would also make sense to add.

As I mentioned in a previous post, I have created a SourceForge project, Semantic Workbench, with the intent of creating a tool that will contain a variety of features useful when working with semantic technologies, including the ones that I have been releasing on my website.  To that end, this small Java application may serve as a starting point for thinking through that tool.

If you have thoughts on tool features that would make working with semantic web concepts easier please comment here or better yet, join the SourceForge project.

In the meantime, if you are toying with semantic concepts or want to see how to leverage some of the features of Jena, feel free to download this application.

Tags: , , , , ,

Leave a Reply

You must be logged in to post a comment.