Ontology Design Best Practices – Part II

This is the second in a two part blog series, sharing our best practices collected through our efforts in ontology consulting. The first part of the series described 5 key recommendations for any new ontology project. These recommendations need to be in place for any ontology project to be successful. This second blog provides specific methods for designing a business ontology (that being, one that will be intuitive, manageable, and usable to those who need it).

As a reminder, our most successful ontology projects deliver business users new and meaningful ways to see relationships between content and information. The complexity of the ontology is hidden from the business users who are able to discover related content without the need for formal or rigid navigation between content. The content owners/administrators are able to manage the relationships between content at a much more granular level with minimal additional effort. Often, these changes give our customers new ways to consolidate and present content and information both internal and external to their organization. Most importantly the value of these changes is visible to the project stakeholders and sponsors.

The design recommendations in this post assume that the project recommendations in Part I have already been implemented. These recommendations are focused on maximizing business value and usability.

Use Non-Technical Terms


Non-Technical TermsMost ontology designers use terms like graphs, classes, nodes, and edges. Though these are accurate descriptions of what we are designing, they make ontologies seem unapproachable and difficult. Make a point of replacing these highly technical terms with terms that are more recognizable to your stakeholders.

 

Technical Term Business Term
Class Entity or Thing
Domain Category
Attributes Properties or Features
Edge Relationship
SparQL Query language like SQL


It is important that you communicate regularly with your stakeholders. Using non-technical terms will make the project feel more approachable and more business focused. As a result, it will be easier to get feedback from your stakeholders on their wants and needs.

Identify Your Domain 

Identify Your DomainThe first step in creating an ontology is to identify the domain to which it belongs. By this, I mean the category or topical area the ontology describes. This cannot be done in a vacuum. Review your content and then come up with 3-4 terms that describe your domain. Use these terms to search for public ontologies with similar domains. To find similar domains that are publicly available, look in places like the following: 

 

Evaluate the content and entities in these public domains to see which one is most closely aligned with the content and entities in your domain. Use the public domain as the starting point for the rest of your work. Not only will this give you a headstart on the work, it will also ensure that you are following a standard that others use so that you can more easily integrate your domain with others.

Prioritize the Entities to Model 


Prioritize EntitiesEach ontology has a list of classes (think entities or types of things) that need to be modeled. For example, an ontology about people in an organization would likely include the following entities:

Entities

It would be very easy to create a huge list of entities for any domain that you work with. Many people begin by creating an exhaustive list to make sure they capture everything. This is a common mistake for people creating their first ontology. Start with a smaller list of entities that are easily recognizable and model those first. Prioritize the entities to develop through the use cases and goals you defined at the beginning of the project. This approach will save time and allow you to show value sooner. It will also result in a design that meets the business needs without introducing undue complexity and clutter.

Minimize Characteristics and Look for Patterns


Minimize CharacteristicsThe next step is to model the characteristics of these entities. If you are following a standard, some of this work may already be done for you. Some standards allow for a great deal of flexibility to define these characteristics. In these cases, you will need to make decisions about how much information you want to manage. Minimize the number of characteristics you capture though the use cases and goals for the project. Less is always better as you start out. Also, look for repeatable patterns that can be applied to as many entities as possible. Consistency among entities simplifies implementation and simplifies the way content can be queried using the SQL-like query language (SparQL).

Prioritize Relationships


Prioritize RelationshipsIdentifying the ways in which entities are related is one of the most powerful features of semantic ontologies. It is, unfortunately, also one of the easiest ways to create an ontology that is overly complex. Review the goals for your ontology. Prioritize the types of relationships to those that directly support the goals of your taxonomy. Try to limit these relationship types to less than 5 if possible. As with all of these things, it is better to start small and grow than to try and be comprehensive with your first ontology.

Validate your Design


Validate Your DesignOntologies can be confusing to people who have never worked with them before. This does not mean that you should develop the ontology in a vacuum or without validation. Make sure you have a visual representation of your ontology and share it with the project stakeholders at every stopping point in the project. Show how the ontology relates to their content and information and how it will help them meet the objectives defined at the beginning of the project.

This feedback loop accomplishes three things:

  • Your stakeholders see progress and understand why they are developing an ontology.
  • The stakeholders may spot things that are missing, and
  • You can validate that the design is easy to understand.

It is important that this is done before the ontology and its related features are implemented so that you do not go down the wrong path.

Ontologies offer a powerful way to manage and present content. Technology has advanced to the point where the ontologies and the semantic web are now a reality. An effective ontology can:

  • Provide new ways to navigate and find content,
  • Expose relationships between content that were once not visible, and
  • Provide a seamless view of content across organizations.

I encourage all of you to consider how an ontology can improve your content or knowledge management sites. We are happy to help if you need ontology consultants to assist in the design of your ontology. Contact us at [email protected].

Joe Hilger Joe Hilger Joe is Enterprise Knowledge's COO. He has over 20 years experience leading and implementing cutting edge, enterprise-scale IT projects. He has worked with an array of commercial and public sector clients in a wide range of industries including financial services, healthcare, publishing, hotel and lodging, telecommunications, professional services, the federal government, non-profit, and higher education. Joe uses Agile development techniques to help his customers bridge the gap between business needs and technical implementation. He has a long track record of leading high-performance professional teams to deliver enterprise-level solutions that provide real value. His development teams have a strong record of client satisfaction, innovation and leadership. Joe is an expert in implementing enterprise-scale content, search, and data analytics solutions. He consults on these areas with organizations across the country and has spoken on a wide range of topics including enterprise search, enterprise content management, big data analytics, Agile development and content governance. More from Joe Hilger »