Blog

Knowledge Graphs for the Enterprise

June 30, 2020 Tim Reimer 0 Comments

testA major organizational challenge is to maintain the knowledge that contributes to an organization’s competitiveness and differentiates it in the market. By using information in a resourceful manner, which is mostly achieved through experience, organizations gain knowledge about processes, products and services unique to their offering. Currently such knowledge is captured, for better or worse, in procedural documents, process definitions, recipes, bills of materials and other artifacts. Given the constant changes in market conditions, employee turn- over, product evolution and changes in supply chain, a corporation must develop a clear strategy to maintain this knowledge in order to minimize knowledge loss.


The problem with the classical knowledge capture formats such as spreadsheets and documents is that the knowledge is literally trapped in its storage medium and only human intelligence can benefit from it. Given these mediums, other intelligent agents have limited capabilities to access this knowledge and therefore new business opportunities are lost or can’t be realized. Therefore, the current knowledge capture approach is limited and does not lend itself well to corporations that are engaged in a digital transformation initiative.

A new approach to capture and host knowledge is required, one that will support both human use and artificial intelligent use. Google recognized this with the introduction of the concept of knowledge graphs, which it applied as a semantic web initiative to assimilate various types of knowledge on the web [1].

Knowledge engineering
Knowledge Engineering is a term used to describe the process of identifying sources of knowledge, followed by a knowledge-modeling exercise that essentially results in storing the knowledge in a data store so that it can be consumed and presented. To form a discipline around this process it is recommended to follow a methodical approach to ensure general success and high quality of the end result.

Before engaging in the actual activities of knowledge engineering, it is advisable to define the scope, success factors and goals for the initiative. This will set the boundaries for the knowledge domains that will be modeled and prevent intentional or unintentional scope creep.

Once a domain has been defined, the next step is to start building an ontology of the defined domain. Ontologies define concepts and relationships of a knowledge domain. By formulating competency questions one can establish what answers the new ontology is to provide. A sample competency question could be, “What products have a certain ingredient?” These competency questions are vital inputs in engineering the associated domain knowledge. Ontologies consist of entities described as classes, object properties, annotation properties, data properties, datatypes and individuals. Describing a knowledge domain with these six entity types using an ontology language allows reasoners to draw entailments or conclusions from such an ontology model. These entailments present the knowledge captured in the ontology.

A standard ontology language is OWL [2], which has various representations, one being XML/RDF. RDF (Resource Description Framework) [3] describes resources in triplets, which are subject, predicate and object. Building relationships through the application of these triplets results in a network of resources that can be presented in a graph. The resources can be mapped back to the entity types of the ontology.

Circling back to the initial competency questions, the query language SPARQL [4] can be used to query the ontology to extract answers and therefore test that the ontology can deliver the correct answers. The development of such an ontology is an iterative and refinement process until the queries consistently deliver the correct results.

Knowledge hosting
Since RDF results essentially in a graph representation, the knowledge captured in an ontology can be stored in a graph database. Graph databases are defined through nodes and the relationships between nodes. Searching a graph database results in traversing the network from node to node whereby any node can be an entry point to the network. Various graph algorithms such as Nearest Neighbours, PageRank or Shortest Path, to name a few, can all be applied to draw knowledge from the graph database to support decision-making or develop other forms of analytics.

Another benefit of graph databases is that new nodes, with their properties and relationships, can be added or removed programmatically, which results in the network dynamically changing and adjusting to new requirements. This is a significant advantage over relational databases and makes graph databases very agile in changing business requirements. Utilities are available that will transform a relational database into a graph database, which is also called data lifting. However, caution is advised that in order to reap the full benefits of graphs, graph representations may still have to be adjusted after data lifting processes has been completed.

Benefits and application
Knowledge graphs have been very successfully applied on the web. A good example is schema.org, which provides a vocabulary that is open source and can be integrated to an enterprise domain ontology.

The hosting of an ontology in a graph database presents knowledge in machine consumable form and can be presented via web inquiries and natural language queries. It opens up a completely new way of expression, search and annotation capacities for an organization.

Corporate knowledge can also be used to carve out a differentiator to the competition by making parts of this knowledge available to customers or suppliers. For example, providing better information about products and services is an excellent strategy to reveal corporate knowledge to customers. Connecting these ontologies to natural language processing systems in the form of chatbot provides customers with intelligent information and feedback about products and services, which will assist in improved customer engagement.

Another opportunity to use ontologies for semantic transformations is message exchanges between business partners and the corporate application network. These semantic transformations are currently performed by manually maintaining x-reference tables. Errors can occur based on wrong or missing values, which hold up the message exchange between applications.

Other opportunities for corporate ontologies exist in managing equipment and material inquiries by employees or suppliers, or to store corporate processes, quality and safety documentation for these items in special designed ontologies backed by a graph database.

Enterprise knowledge graph technologies are still emerging but combined with artificial intelligence and integrated to the application landscape of a corporation they will definitely contribute significantly in delivering differentiators for corporations in the market.

References

[1] A. Singhai. (2012), “Introducing the Knowledge Graph: things not strings”, retrieved from: Things Not Strings

[2] P. Hitzler, M. Kröetzsch, B. Parsia, P. F. Patel-Schneider, and S. Rudolph. (2012), “OWL Web Ontology Language Guide”, retrieved from: OWL Web Ontology

[3] G. Schreiber and Y. Raimond. (2014), “RDF 1.1 Primer” retrieved from: RDF Primer

[4] S. Harris and A. Seaborne. (2013), “SPARQL 1,1 Query Language”, retrieved from: SPARQL Query Language"