Building Adaptive Classificators with Topic Maps and XSLT
Using Topic Maps and XSLT for building dynamic taxonomies
and customizable catalogs on the Web
http://www.cogx.com
Case Study
This demonstration includes an image browser developed by Cogitech, Inc., that is able to render a professional graphics taxonomy developed for
the Art Images For Professionals catalog.
![]() |
http://www.offsight.com
Categorization and Similarity of Complex Systems
"Similarity and categorization are essential to thought.
Dividing world into categories underlines all forms of cognition.
Similarity judgements guide the formation of analogies, and mold the structure of memory."
-- Ben Goertzel and Michael Kalish
Prototype Based Ontology
" Ontology whose categories are distinguished by typical instances or prototypes rather than by axioms and definitions in logic."
--John F. Sowa
Person A says
- "This girl looks just like her father."
What does A mean?
- Color of the eyes
- Shape of the nose
They look alike in the context of eye-color and nose-shape property flavors (values).
Person B says
- "No, this girl looks just like her mother."
What does B mean?
- Shape of the eyes
- Tone of her voice
They look alike in the context of eye-shape and voice-tone properties property flavors (values).
Classification channel: Bouquet of property flavors
- Eye Shape Property Bouquet
- Hair Color Property Bouquet
- Nose Shape Property Bouquet
- Voice Tone Property Bouquet
Property Bouquets consist of flavors.
Topic Map Model
The association of type similarity between Mother and Daughter in the scope of
the curvy-eye-ness flavor of the eyes-shape property bouquet.
<topic id="curvy-eye-ness" types="eyes-shape"> <topname><basename>Curvy Eyes</basename></topname> </topic> <assoc type= "similarity" scope="curvy-eye-ness"> <assocrl href="#Laura"/> <assocrl href="#Ann"/> </assoc> |
XTM Syntax
<topic id="curvy-eye-ness"> <instanceOf><topicRef xlink:href = "#eyes-shape"/></instanceOf> <baseName><baseNameString>Curvy Eyes</baseNameString></baseName> </topic> <association id="aa11"> <instanceOf><topicRef xlink:href = "#similarity"/></instanceOf> <scope><topicRef xlink:href = "#curvy-eye-ness"/></scope> <member><topicRef xlink:href = "#Laura"/></member> <member><topicRef xlink:href = "#Ann"/></member> </association> |
Simile
"A simile is a direct, expressed comparison between two things
essentially unlike, but resembling each other in at least one aspect."
-- A Handbook of Rhetorical Devices. Robert Harris, Vanguard University of Southern California
Francis Bacon
"And money is like muck, not good except it be spread.
"
<topic id="can-be-spread"> <instanceOf><topicRef xlink:href = "#usefulness"/></instanceOf> <baseName><baseNameString>Can be spread</baseNameString></baseName> </topic> <association id="aa11"> <instanceOf><topicRef xlink:href = "#simile"/></instanceOf> <scope><topicRef xlink:href = "#can-be-spread"/></scope> <member><topicRef xlink:href = "#money"/></member> <member><topicRef xlink:href = "#muck"/></member> </association> |
Shakespeare, Sonnet CXLVII
"My love is as a fever, longing still
For that which longer nurseth the disease.
"
<topic id="longing-still"> <instanceOf><topicRef xlink:href = "#duration"/></instanceOf> <baseName><baseNameString>longing still</baseNameString></baseName> </topic> <association id="shakespeare-love"> <instanceOf><topicRef xlink:href = "#love"/></instanceOf> <member><topicRef xlink:href = "#shakespeare-author"/></member> <member><topicRef xlink:href = "#shakespeare-beloved"/></member> </association> <association id="aa11"> <instanceOf><topicRef xlink:href = "#simile"/></instanceOf> <scope><topicRef xlink:href = "#longing-still"/></scope> <member><topicRef xlink:href = "#shakespeare-love"/></member> <member><topicRef xlink:href = "#fever"/></member> </association> |
Bouquet of use types flavors
- Corners
- Vignettes
- Dingbats
- Cartouches, etc.
![]() |
Bouquet of element base flavors
- Floral
- Animal
- Majestic
- Plant, etc.
![]() |
Bouquet of shape flavors
- Leading Square
- Leading Circle
- Leading Triangle
- Supplement Square, etc.
![]() |
Other classification channels / bouquets
- Style
- Baroque
- Gothic, etc.
- Historical or cultural themes
- Color pallets
- Techniques used in drawing
- Geography and Origin, etc.
Special case:
- Classification based on occurrences of distinguishable graphical elements.
Library of Congress Classification
![]() |
Dynamic Context
As one navigates through a context tree, the range of related objects gets narrower.
An artist interested in red images to adorn his artwork:
- Red => people => events => revolutions
A historian writing about artifacts of revolution:
- revolutions => murder => red
One can navigate to the same range of objects following different context paths.
Requirements
Combinations of classification bouquets can form vertical
taxonomies that are important within a context of a particular person or science.
Requirement: let users sculpt taxonomy trees for their particular needs.
- Allow classification channels selection
- Allow classification channels ordering
Sculpting trees from bouquets
- bouquet A+bouquet B = context tree 1
![]() |
- bouquet B+bouquet A= context tree 2
![]() |
Scoping Topics: bouquets/channel flavors
Property values/patterns define context within which topics are similar.
Two images can participate in association
of being similar to each other in the scope some property ( channel ) value (flavor).
Under development:
- Extend bouquets of flavors to trees
- Superimpose flavored sub-trees and bouquets when customizing taxonomy
Sculpting trees from flavored sub-trees
tree + tree = baobab
![]() |
Topics: Classified Items
<topic id="corn005" types="image"> <topname> <basename>Corn005</basename> </topname> <occurs> <locator href="thumbnails\corn005.gif" type="thumbnail"/> <locator href="corn005.gif" type="full-size"/> </occurs> </topic> |
XTM Syntax
<topic> <instanceOf><topicRef xlink:href = "#image"/></instanceOf> <subjectIdentity><resourceRef xlink:href = "corn005.gif"/></subjectIdentity> <baseName> <baseNameString>Corn005</baseNameString> <variant> <parameters><topicRef xlink:href = "#thumbnail"></parameters> <variantName><resourceRef xlink:href = "thumbnails\corn005.gif"/></variantName> </variant> </baseName>> </topic> |
Topics: bouquet/channel definitions
<topic types="channel" id="shape"> <topname> <basename>Shape</basename> </topname> </topic> <topic id="circle-leading" types="shape"> <topname> <basename>Leading Circle</basename> </topname> </topic> |
XTM Syntax
<topic id="shape"> <instanceOf><topicRef xlink:href = "#channel"/></instanceOf> <baseName> <baseNameString>Shape</baseNameString> </baseName>> </topic> <topic id="circle-leading"> <instanceOf><topicRef xlink:href = "#shape"/></instanceOf> <baseName> <baseNameString>Leading Circle</baseNameString> </baseName>> </topic> |
Associations: simile
<assoc type= "similarity" scope="circle-leading"> <assocrl href="dingbat6"/> <assocrl href="corner7"/> <assocrl href="headpiece1"/> <assocrl href="dingbat5"/> </assoc> |
XTM Syntax
<association id="similarity123"> <instanceOf><topicRef xlink:href = "#similarity"/></instanceOf> <scope><topicRef xlink:href = "#circle-leading"/></scope> <member><topicRef xlink:href = "#dingbat6"/></member> <member><topicRef xlink:href = "#corner7"/></member> <member><topicRef xlink:href = "#headpiece8"/></member> <member><topicRef xlink:href = "#dingbat5"/></member> </association> |
Facets: Sculpting Trees
- Color => Theme => Shape => Drowing Style
<facet type="search-order"> <fvalue type="color" href="na" facetval="0"/> <fvalue type="theme" href="na" facetval="1"/> <fvalue type="shape" href="na" facetval="2"/> <fvalue type="style" href="na" facetval="3"/> </facet> |
- Shape : Leading Circle => Usage : Dingbat => Graphical Elements
<facet type="search-order"> <fvalue type="shape" href="leading-circle" facetval="0"/> <fvalue type="usage" href="dingbat" facetval="1"/> <fvalue type="elements" href="na" facetval="2"/> </facet> |
Conclusions
Building Adaptive Classificators with Topic Maps and XSLT framework
offers unique solutions for building dynamic taxonomies
and customizable catalogs on the Web.
Sourcecode of Adaptive Classificators is a Topic Map document - network, not a hierarchy!
Adaptive Classificators framework:
- Allows to derive and maintain unlimited number of customized hierarchical taxonomies based on usage patterns!
- Provides facilitated maintenance and extensibility of classification channels - bouquets and flavors.
- Easily merge-able with other topic map based taxonomies.
- Facilitated presentation and style maintenance : stylesheets can be shared by different web sites.
- XSLT rendering and thus: write once render anywhere.