"Toolchest" Example Application
This application demonstrates several types of queries against several RDF models stored in different formats. This application runs inside cocoon.
All files used to define this application are found beneath the peruser source distribution at the path: PERUSER_SRC/app/toolchest.
Our demo site hosts this online demonstration of Toolchest queries, with additional documentation.
Interactive Demonstrations
- HTML result grid showing all 542 tools in the dataset.
- HTML result grid showing just the "fancy" reasoners which are written in Haskell, LISP, or Prolog
- HTML result grid showing just the "applications" (according to our taxonomy) which are written in Java
- Ugly HTML form to edit an XML description of the tools you want to see, and submit to see the results. (Instructions still needed)
Cocoon Sitemap
- You can view the ocoon sitemap used to produce these demonstrations.
Data Files
As a starting point, we use an RDF dataset of semantic tools called "Sweet Tools", compiled and maintained by Michael Bergman. (Our thanks to Mike for this very useful piece of work!). You can browse that toolset, and/or download the RDF for yourself, by going to his Sweet Tools page. We are currently using version 9 of this dataset, published on 2007-06-19, which contains descriptions of 542 Semantic Web related software tools.
This dataset is distributed under the terms of the Creative Commons Attribution-Noncommercial-Share Alike License, version 2.5.
The Toolchest application allows the user to query this dataset, and view the returned subset of tools, filtered and sorted according to the user's preferences. The user is able to specify filter criteria along two axes:
- Functional category of tool.
- Programming language the tool is primarily written in.
In the sw_tools datafile, the Category and Lanuage values are RDF-literal properties that take on string values. In more formal versions of this demo, we alias those strings with URI's, but that step is omitted here to keep our descriptions short and to the point.
|
File (+ Link) |
Description |
|---|---|
|
Sweet Tools dataset - version 9. Our only change was to re-encode the file using UTF-8. |
|
|
OWL model containing a taxonomy of tool categories.
This model was created in Protege. Since it is just a taxonomy, it could just as well be defined with RDFS as with OWL. Such a taxonomy could also be hand-edited in TURTLE format. |
|
|
XML document containing a simulated user choices model. This model indicates the user's interest in certain tool categories and languages. Normally, these would be sent by a client based on a user's GUI selections. Often clients will send a simple XML dialect that is transformed into RDF/XML. In this case, the RDF/XML model is represented verbatim in the contents of the "<pmd:model_set>" tag. |
|
|
A set of command frames, represented as RDF. These commands configure the peruser to do demonstration tricks on our behalf. This file was created by the peruser team, using Protege. If you want to create these by hand, it's easier to use the TURTLE format! |
SPARQL Queries
|
SPARQL Query File |
Description |
Demo Output |
|---|---|---|
|
Trivial query that returns ALL tools in the Sweet Tools model. |
||
|
Simple query to find all the "fancy" reasoner tools written in Haskell, Prolog, or LISP. All filtering options are hardcoded into the query file. |
||
|
More complex query which uses several named graphs and RDFS inference. See the online demo page for details. |
XSLT Transforms
|
File |
Description |
|---|---|
|
Transforms the SPARQL XML Results Format produced by any of these queries into a more concise application-specific XML format. |
|
|
Transforms the application-specific XML format into HTML for display. |
|
|
Turns a simplified user-choice description syntax into an RDF model suitable
for processing by the filtered_swtools.sparql query. |
|
|
Supplementary stylesheet used to render our taxonomy tree, after it is output by the Peruser "projector" module. |
