Login | Register   
RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Applying SKOS Concept Schemes : Page 2

The semantic web technology stack provides several technologies for describing terms and relating them. The Simple Knowledge Organization System (SKOS) provides a simple way to represent concept schemas like thesauri, taxonomies, controlled vocabularies, and subject headers.

Lightweight Blog Category Schemes
One place where you can imagine this being useful is in the categorization of blogs and blog entries. It would be great to categorize your own blogs and entries topically in a lightweight, but formal way. People tend to use simple tags at the moment, but tags alone are insufficient. As easy as the folksonomic approach is, it is too hard to link across blogs and reuse the topics when they are unbound. SKOS is the technology to use for this task.

Publishers typically indicate lists of bloggers they like to read on their sites. These implicit recommendations are usually organized only based on blogger identity, not what they tend to blog about. It is unclear whether the author is a colleague or a child until you go and investigate. It would be great to apply your own categories to other people's blogs to give greater visibility into what they tend to write on and why you find them interesting.

Some notable bloggers have already started to do this kind of SKOS-based categorization. Norm Walsh has started to create categories for his blog using SKOS. He starts with the concept of a topic (and uses the RDF/XML format):

Editor's Note: Users of Firefox 3.0 can use http://www.norman.walsh.name/knows/taxonomy to see Norm's categories. Users of Internet Explorer and Safari can use a text editor to view the content.

<rdf:Description rdf:about="http://norman.walsh.name/knows/taxonomy#Topic"> <rdf:type rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:comment>A specialization of rdfs:Class used for topics.</rdfs:comment> </rdf:Description>

All of the concrete topics are considered instances of this class. Sub-categories are narrowed:

<rdf:Description rdf:about="http://norman.walsh.name/knows/taxonomy#Celebrations"> <rdf:type rdf:resource="http://norman.walsh.name/knows/taxonomy#Topic"/> <skos:narrower rdf:resource="http://norman.walsh.name/knows/taxonomy#Birthdays"/> <skos:narrower rdf:resource="http://norman.walsh.name/knows/taxonomy#Holidays"/> <skos:prefLabel>Celebrations</skos:prefLabel> </rdf:Description>

Topics that seem particularly interesting to other people are converted into RSS feeds and indicated in the topic definition. For example, because he wrote the book on DocBook, people might be interested in that topic as a feed:

<rdf:Description rdf:about="http://norman.walsh.name/knows/taxonomy#DocBook"> <rdf:type rdf:resource="http://norman.walsh.name/knows/taxonomy#Topic"/> <ttag:tag>docbook</ttag:tag> <feed xmlns="http://norman.walsh.name/knows/taxonomy#">docbook</feed> <icon xmlns="http://norman.walsh.name/knows/taxonomy#">docbook</icon> <skos:prefLabel>DocBook</skos:prefLabel> </rdf:Description>

Finally, all the major topics are wrapped up into a concept scheme called "Everything:"

<rdf:Description rdf:about="http://norman.walsh.name/knows/taxonomy#"> <rdf:type rdf:resource="http://www.w3.org/2004/02/skos/core#ConceptScheme"/> <dc:title>Topic taxonomy for norman.walsh.name <skos:hasTopConcept rdf:resource="http://norman.walsh.name/knows/taxonomy#Everything"/> </rdf:Description>

Where "Everything" is a topic in and of itself that has several narrower concepts directly below it:

<rdf:Description rdf:about="http://norman.walsh.name/knows/taxonomy#Everything"> <rdf:type rdf:resource="http://norman.walsh.name/knows/taxonomy#Topic"/> <feed xmlns="http://norman.walsh.name/knows/taxonomy#">everything</feed> <skos:definition>The tree of topics is rooted here. Any topic not reachable by following (transitively) the skos:narrower properties of this topic will not appear in the topic navigation hierarchy.</skos:definition> <skos:narrower rdf:resource="http://norman.walsh.name/knows/taxonomy#Activities"/> <skos:narrower rdf:resource="http://norman.walsh.name/knows/taxonomy#Animals"/> <skos:narrower rdf:resource="http://norman.walsh.name/knows/taxonomy#Celebrations"/> <skos:narrower rdf:resource="http://norman.walsh.name/knows/taxonomy#Community"/> <skos:narrower rdf:resource="http://norman.walsh.name/knows/taxonomy#Conferences"/> ... </rdf:Description>

Norm's category hierarchy could certainly be used as blueprint for your own SKOS categories. After you create your category concept scheme, it would be fairly trivial to use a technology such as XSLT to convert the concepts into a menu for your own blog entries. Creating a WordPress plugin allows you to apply the categories to other people's blogs as well. This categorical blog roll is more interesting to your blog readers than just a list of names.

While there are certainly efficiencies to people sharing vocabularies and concept schemes, the semantic web does not make this a requirement. Individual bloggers could define their own category concept schemes and then link them together, extend other people's concepts, and merge the terms with OWL and other technologies. You are encouraged to investigate this project and the tools, procedures, and plugins that are being developed to facilitate greater interoperability in the blog space using tools like SKOS.

The Semantically-Interlinked Online Communities (SIOC) project has a larger view of these ideas. They are attempting to link topics, conversations and authors across blogs, Usenet postings, etc. They are mixing concepts from the Friend-of-a-Friend (FOAF) vocabulary with SIOC vocabularies and SKOS concepts. This kind of cross-community, cross-blog linkage highlights the power and utility of these data models. Moving away from simple tags to lightweight but more formal knowledge organization systems like SKOS helps you get ready to be a full participant in the social data web of tomorrow.

Brian Sletten is a liberal arts-educated software engineer with a focus on forward-leaning technologies. He has worked as a system architect, a developer, a mentor and a trainer. He has spoken at conferences around the world and writes about web-oriented technologies for several online publications. His experience has spanned the defense, financial and commercial domains. He has designed and built network matrix switch control systems, online games, 3D simulation/visualization environments, Internet distributed computing platforms, P2P and Semantic Web-based systems. He has a B.S. in Computer Science from the College of William and Mary and currently lives in Fairfax, VA. He is the President of Bosatsu Consulting, Inc., a professional services company focused on web architecture, resource-oriented computing, the Semantic Web, advanced user interfaces, scalable systems, security consulting and other technologies of the late 20th and early 21st Centuries.
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date