At SemTech in June 2010, several speakers including Professor Deb McGuiness drew a very clear line was drawn between what a taxonomist does and what an ontologist does. Taxonomists build hierarchies, and ontologists determine classes or categories. In other words, ontologies are neat and unambiguous, and taxonomies are a bit messy.
Defining classes or ontology work typically precedes building the taxonomy. Defining the classes is like writing a specification for the taxonomy; in fact defining classes is the same as defining facets. The goal of a taxonomist and ontologies should be to define a specific, unambiguous description of a term that helps manage how we find and organize content so the pathways are clear and specific; adding an ontology ensures that the term is placed in the most specific categories to help ensure clarity and lack of ambiguity. I would argue that no taxonomy is useful unless it is faceted – that is, has been divided into classes. Taxonomies work best when they share homogenous properties, and when they are smaller and focused.
By using class analysis, or facet analysis, several problems are solved:
1) Clarify specific terms by situation or functions: If I am interested in Java as a programming language, I want to see material related to Java as software, not as slang for coffee or an island in the South Pacific. If I am looking for “drill bits,” it might be important to understand if the drill bits are for my home electric screwdriver or for an oil rig. Classes capture these distinctions, and help to create precise specific tagging and information retrieval.
2) Ease longterm maintenance issues: Christine Connors points to a simple but common example where taxonomies are built where people’s names are included as narrow terms under the role such as “Hillary Clinton” is “Secretary of State” or “Charles Windsor” is the “Prince of Wales.” The problem is that when people filling these roles change, there is a maintenance headache. A classy taxonomy recognizes that there is a separate class for <people> as an entity, as distinguished from <role>. <People> and <Role> can be connected by a predicate such as <isA>. These distinctions are necessary for fast-changing information (such as who is dating whom in an entertainment application) or (who owns whom in a business application).
Abstraction <person> <has> <role>
Instance: Hillary Clinton <is> Secretary of State
3) Facilitate sharing and importing taxonomies: Having taxonomies that are specified by a class description means the taxonomy will be more homogenous, have shared properties, and be more focused. This will make it easier to import with less cleanup and review. It will facilitate the use of SKOS for example. Messy taxonomies are harder to merge.
Anyone working with semantic technologies will tell you that most problems in inference happen when hierarchies in source taxonomies create odd associations by inserting a narrow or broad term. A taxonomist needs to be attentive to inferences in order to prevent false statements. Professor Deb McGuiness calls this issue “truth maintenance.”
To keep these categories clear and distinct, ontologists rely on building a conceptual model or a picture of the domain (see earlier post on Taxonomies and modeling.) Modeling strategies involve skills of most taxonomists. Most taxonomists have been taught how to capture vocabulary and how to identify facets. Check out the blog post Taxonomies and Modelling for more information.
Elaine Kendall of Sandpiper Software, which is a concept-modelling tool. suggested that “one could build an ontology in 2 hours.” With new generation of tools that can create RDF/OWL from data and content, this statement might be true.
With good modelling tools that automatically generate RDF/OWL,such as TopQuadrant, taxonomists might be able to slide into the needed role as ontologists. Taxonomists need to understand some basic concepts in RDF/OWL to extend their skills such as what is a class, what is a property and what is a slot facet, what is class inheritance, what is meant by reciprocation and inverse properties and how to write a SPARQL query. But more importantly, a classy taxonomist can help become a facilitator to help build bridges between user and development communities and to help diagnose and prevent technical problems.
A taxonomist who is trained in ontologies should bring the following skills:
- Ability to create processes to identify the requirements for each class,
- Develop metrics to assess good results
- Identify what vocabularies are needed and use skills to evaluate existing vocabularies, import and adapt these vocabularies to the current needs
- Ensure the integrity and focus of vocabularies particularly when sourced from an outside vendor,
- Develop processes to keep vocabularies current, and understand how to use metrics to “measure and improve” any vocabularies.
- To be part of the development team to help identify if a source vocabulary might be part of false inference.
The taxonomist works with different user communities as well as developers and helps bridge the gap between what users and experts know and what is needed to build a useful application. A classy taxonomist has a well-rounded set of skills that can work with development teams and user organizations to build intelligent systems.