SKOS and SWOOP: how

A step-by-step example.

Last week I discussed the possibility of using the SWOOP ontology editor and the W3C's SKOS standard to create taxonomies or thesaurii, and I promised to go into a little more detail about how to do so.

(Again, I encourage those more familiar than I am with SKOS and these tools to correct me.) The file 2006-04-18.rdf defines the SKOS Core Vocabulary. It defines some of the more sophisticated relationships that I described last week, such as broaderPartitive and narrowerInstantive, as deprecated properties with the owl:versionInfo message "This term has been moved to the 'SKOS Extensions' vocabulary. See". I downloaded the extensions ontology file and wrote a little XSLT stylesheet to combine the core file and the extensions file and to remove the deprecated properties. Otherwise, when viewing the combined ontology in SWOOP, you would see properties like broaderPartitive listed twice: the deprecated version and the new version.

To use this ontology with SWOOP to define a thesaurus, start up SWOOP and load the combined ontology created from 2006-04-18.rdf and extensions.rdf. Add a term (or, in OWL terms, add an Individual) such as "museum" by clicking SWOOP's "Add I" button, which has its "I" inside of a little pink diamond. In the New Entity dialog box that appears, the default value for "Instance-of" is owl:Thing, but you're working with SKOS, so pick the Concept class instead. Enter Museum as an ID, and then click "Add and Close". Do the same to add the term "TheLouvre". Remember not to include any space in this term's ID name; you can add "The Louvre" as a Label for the term in the same dialog box if you like.

After clicking "Add and Close" for TheLouvre, you'll see the "Concise Format" tab for TheLouvre, where you can add some metadata about it: the fact that it has the relationship BroaderInstantive to Museum.

To do this, first click "Add" next to "Object Assertions". In the "Select Property" dialog box that appears, look at that long list of properties to choose from. This is the main reason to use SWOOP and SKOS together: because the combination gives you the ability to create rich standardized metadata by simply picking names from lists like this. Click on BroaderInstantive and the "Select Prop[erty] & Proceed" button, then pick Museum from the list that appears. After you click the "Add and Close" button, you'll see it reflected on the Concise Format information about TheLouvre:

SKOS screenshot

As I described last week, the Concise Format screen for Museum will have no mention of the term's relationship to TheLouvre, but an automated way to add that is apparently not far off.

To get some more ideas about the things that SWOOP can do with a SKOS file, download the Invasive Species Management Thesaurus from the California Information Node, load it into SWOOP, and look at the Concise Format tab for a few terms. They have a lot of metadata. The recent devX article Applying SKOS Concept Schemes also showed me that there are plenty of other aspects of SKOS for me to explore.

Looking this over made me even more sure of something I wrote last week: once Pellet supports SPARQL CONSTRUCT queries, the combination of the SKOS ontology, SWOOP, and Pellet is going to be very useful for people working with taxonomies and thesaurii.