Actions

Ontolog Forum

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

OntologySummit2010: Future "Quality" - Synthesis of the Discussion

This is the workspace for the co-champions to synthesize the discussion on this track.

Track Label: Quality - Subtrack Label: Future

Track Co-champions: BarrySmith, NicolaGuarino and FabianNeuhaus

Introduction

The other tracks are concerned with requirements for ontologists and the content of ontology. The goal of this track is to turn the results of the other tracks into a list of skills and knowledge that a student should be taught in an ontology program. Since ontology is a highly interdisciplinary field it is unrealistic to expect a student to learn everything that might be relevant. For this reason, one could characterize the job of this track to identify and select the most important knowledge and skills that an ontologist needs to do his job. How this content it taught is beyond the scope of this document, this needs to be decided by each individual educational institution based on the available resources. At least some of the content is likely to be covered by existing courses in other programs (e.g., in computer science or philosophy). For illustrative purposes we will include a draft sketch of a masters program below.

One challenge in the creation of recommendations for the education of ontologists is that ontology is a young discipline, in many areas important research questions have not been settled and best practices are still evolving.

Another challenge is that the careers of ontologists are diverse. IT-oriented ontologists are actively involved in the deployment of IT systems that consists of many other components than the ontology itself. For these ontologists it is essential to know how ontologies fit into the software development process and how to integrate the ontolgy with the applications. For this purpose the ontologist needs some background in software engineering, and in particular object-oriented programming and data analysis. Community-oriented ontologists are specialized on developing ontologies within a given domain in collaboration with experts often from large and very diverse communities. One of their main job is to facilitate the resolution of ambiguities and the building of consensus within their communities. To fulfill this role the ontologist needs not only to know the scientific area covered by the ontologies very well (e.g., protein biology or infectious diseases) but also he needs all the 'soft-skills' that enable him to lead a team of domain experts or to build a community that supports an ontology.

The knowledge and skills that we list below are covering the basics any ontologist need. However, they are not sufficient to have a career as an ontologist; this will require either an additional background in software engineering or domain specific knowledge.

There is a strong consensus within the community that although there is a lot of academic knowledge that is relevant for ontologists, many important skills cannot be learned from lectures alone. Any education of ontologists has to be build around hands-on training experiences.

In the following, we distinguish between skills (the ability of a student to do something) and knowledge (true believes). Since the former usually involves the latter, they have to be taught together. Because the careers of ontologists are diverse, it is not realistic to develop a single curriculum that fits all students. In the following we distinguish between core skills (knowledge) and elective skills (knowledge). The idea is that any student should be required to gain all of the core and some of the elective skills and knowledge.

Core Skills

Abilities required for developing and improving ontologies:

  1. Clarifying the purpose of the ontology, understand potential deployment, perform requirements analysis,
  2. Data analysis using a scripting language
  3. Managing the ontology across the life cycle (versioning, documentation, help desk ...)
  4. Knowing what sort of ontology is useful for what sort of problem (including: know where ontologies are not useful)
  5. Identifying, evaluating and using software for ontology development
  6. Choosing the appropriate representation language
  7. Choosing the appropriate level of detail
  8. Identify existing content resources (existing ontologies, terminologies and related resources; relevant data; domain expertise, ontology expertise)
  9. Designing an ontology as an assembly of reusable modules
  10. Using (reading, writing) different representation languages
  11. Ontological analysis: identifying entities and relationships; formulating definitions and axioms
  12. Improving ontologies (finding errors via manual term-by-term inspection, solving interoperability problems)
  13. Documenting the ontology, including: providing natural language definitions
  14. Working in a team, including teams for distributed development

Abilities required for applying ontologies. (See use cases below.)

Elective Skills

  1. Coordinating ontology development efforts
  2. Creating meaningful visualizations of ontology structure for human beings
  3. Training people in the use of ontologies

Core Knowledge

  1. The basic terminology of ontology (relation of ontology to knowledge representation, conceptual modeling, data modeling, ...)
  2. Theoretical foundations
    1. Logic (first order, second order, Description Logic, ...; logic of definitions)
    2. Set theory
    3. Philosophical ontology (universals and particulars, time, mereology ...)
    4. Philosophy of language (the use-mention confusion, sense and reference, speech act theory, ...)
    5. Knowledge representation, conceptual modeling, data modeling; metadata
  3. Representation languages Part 1: RDF, OWL; Common Logic
  4. Building and Editing ontologies
    1. human aspects (application of classification principles, manual auditing, ...)
    2. software tools (Protégé, ...)
    3. resolving interoperability problems among ontologies
  5. Ontology evaluation strategies and theories (Ontoclean, ...)
  6. Examples of ontologies, illustrating different methodologies
    1. upper-level ontologies (BFO, DOLCE, SUMO, ...)
    2. domain ontologies (GO, PSL, Enterprise Ontology, ...)
  7. Examples of ontology applications (successes and failures)
    1. as controlled vocabularies / standards, to achieve coordination between humans
    2. to solve interoperability problems among external data resources
    3. reasoning with ontology content
    4. improve search and retrieval
    5. NLP
  8. Ontology and the Web
    1. General foundations (URIs, XML, etc.)
    2. Semantic Web initiative
    3. Semantically enhanced publishing, literature annotation, data curation

Elective Knowledge

Underlying and related disciplines

  1. Advanced logic (modal logic, temporal logic, default logic, ...)
  2. Advanced philosophical ontology (mereotopology, tropes, ...)
  3. Computer science
    1. formal languages, formal machines, computability
    2. automated reasoning
    3. database theory
  1. Linguistics / cognitive sciences
    1. distinction between syntax, semantics, pragmatics
    2. natural language processing, natural language generation
    3. cognitive theories of categorization

Supporting tools, technologies and methodologies

  1. Representation languages Part 2 (SWRL, RIF, SKOS; OBO; UML; E-R, ...)  
  2. Ontology content acquisition (role of text mining, ...)
  3. Achieving ontology interoperability
  4. Principles for building ontology repositories  
  5. User interface issues (visualization / usability, principles of meaningful arrangement, ...)

Application domains

Any domain could be an application domain for ontologists. For example, ontologies are used in the following areas:

  1. Natural sciences (biology and and biomedical informatics, physics, astronomy, geology)
  2. Business (enterprise modeling, enterprise memory, manufacturing systems, supply chain integration) and E-Commerce (GoodRelations
  3. Government (military, intelligence community, security)
  4. Education

Example

The following would be an example for a 36 credit master program. 3 courses (9 credit) would be for electives, the following 9 courses (27 credits) are covering the core skills/knowledge. (The numbers in parenthesis reference the numbers in the lists above.)

  • 3 credits: General introduction to Ontology (know: 1, 6, 7, 8)
  • 4 credits: Formal Foundations (know: 2.1, 2.2, 3)
  • 3 credits: Philosophical ontology (know: 2.3)
  • 2 credits: Philosophy of language (know: 2.4)
  • 3 credits: Use cases and examples (know: 5, 6, 7, 8)
  • 3 credits: Life cycle management and team work (know: 4.1, skills: 2, 13)
  • 3 credits: Introduction to building ontologies (know: 4; all skills)
  • 3 credits: Project course building ontologies (know: 4; all skills)
  • 3 credits: Practicum building ontologies (know: 4; all skills)


This page is maintained by BarrySmith, NicolaGuarino and FabianNeuhaus Please do not edit or modify it yourself; send any editing request to any one of the individuals named above.