[Editor's note: this guest post was co-written by Héctor Pérez-Urbina (Clark & Parsia) and Juan Sequeda (Capsenta)]
Important enterprise business logic is often buried deep within a complex ecosystem of applications. Domain constraints and assumptions, as well as the main actors and the relations with one another, exist only implicitly in thousands of lines of code distributed across the enterprise.
Sure, there might be some complex UML diagrams somewhere accompanied by hundreds of pages of use case descriptions; but there is no common global representation of the domain that can be effectively shared by enterprise applications. When the domain inevitably evolves, applications must be updated one by one, forcing developers to dive into long-forgotten code to try to make sense of what needs to be done. Maintenance in this kind of environment is time-consuming, error-prone, and expensive.
The suite of semantic technologies, including OWL, allows the creation of rich domain models (a.k.a., ontologies) where business logic can be captured and maintained. Crucially, unlike UML diagrams, OWL ontologies are machine-processable so they can be directly exploited by applications.
Unlike other formalisms, OWL is equipped with an unambiguous semantics; therefore, it is possible to devise so-called reasoning algorithms that make it possible to discover knowledge that is only implicit in the model. Several of these algorithms have been implemented in domain-agnostic tools called reasoners. There is a variety of mature off-the-shelf reasoners out there offering different sets of capabilities. We can find them as standalone tools (e.g., Fact++, HermiT, Pellet), as wrappers for RDBMSs (e.g., ontop, Ultrawrap), or already integrated into triplestores (e.g., OWLIM, Stardog).
Reasoning allows for application queries to be relatively simple and easier to understand. Suppose we have a fairly complex ontology containing several types of account, all modeled as subclasses of the class Account. If we needed to retrieve every account, reasoning would allow us to use the simple query “return all instances of Account”; the reasoner would take this query, in conjunction with the relevant knowledge in the ontology, and compute the correct answer. With no reasoning, in contrast, we would need to come up with a complex query to ‘hardcode’ all possible types of account captured in the ontology: “return all instances of account type 1 and account type 2 and …” Having to deal with simpler queries leads to easier-to-maintain applications.
Using ontologies and relying on a reasoner also helps with handling changes in the domain. Do you need to handle another type of account? Did you discover a new interesting relationship between customers and products? Perhaps there is a new mandatory attribute for account holders? OWL’s flexibility allows us to maintain ontologies seamlessly. Moreover, with an umbrella model used by several applications, changes in a domain typically result in updating (a part of) the model only, not the applications. Furthermore, due to reasoning, changes in the model reflect immediately in applications, considerably reducing the burden of keeping up with domain evolution.
Reasoning algorithms, in addition, can be employed for a variety of other useful tasks. Did you know that, based on what is stated in your ontology, this type of customer is more likely to buy that kind of product? A reasoner can tell you. Did you know that the latest definition of account holder contains a subtle contradiction? A reasoner can discover there is something wrong and it can also tell you why and how to fix it. Perhaps you want to enforce very specific and complex integrity constraints over your data? Yes, a reasoner can help you out, too.
Business value is, simply put, anything that allows a business to either make or save money. The use of semantic technologies in general, and reasoning in particular, enables the development of ‘intelligent’, effective, flexible, and easier-to-maintain enterprise applications. This, in turn, contributes to increasing the business value of a company by lowering its operational costs and raising its productivity.
Image courtesy UC3M
About the Authors
Héctor Pérez-Urbina is a Senior Research Scientist at Clark & Parsia, LLC. He joined C&P in 2010 after obtaining a DPhil in Computer Science from the University of Oxford. His main research interests are in the areas of description logics and knowledge representation and reasoning, and their application to the problems of ontology-based data access and enterprise information integration.
Juan Sequeda is a Ph.D Candidate at the University of Texas at Austin and a NSF Graduate Research Fellow. His research is in the intersection of Semantic Web and Relational Databases. He co-created the Consuming Linked Data Workshop series and regularly gives talks at academic and industry semantic web conferences. Juan is an Invited Expert on the W3C RDB2RDF Working Group and an editor of the “Direct Mapping of Relational Data to RDF” specification. Juan is also the founder of a new startup, Capsenta, which is a spin-off from his research.