The term “knowledge graph” (KG) has been gaining popularity for quite a while now. Today, as the number of decision-makers recognizing the importance of more dynamic, contextually aware and intelligent information architectures is growing, so is the number of companies with solutions based on knowledge graphs.
Despite this knowledge graphs upsurge, the concept still lives without an agreed-upon description or shared understanding of the methodology used for its designing.
Here, at Ontotext, we work with the following definition of what is a knowledge graph:
The knowledge graph represents a collection of interlinked descriptions of entities – real-world objects, events, situations or abstract concepts – where:
- Descriptions have a formal structure that allows both people and computers to process them in an efficient and unambiguous manner;
- Entity descriptions contribute to one another, forming a network, where each entity represents part of the description of the entities, related to it.
To take the conversation forward, we have also decided to outline the main steps of building and maintaining a knowledge graph, based on our extensive experience.
Ontotext’s 10 Steps of Crafting a Knowledge Graph With Semantic Data Modeling
After working with many clients and on many research projects, we can outline 10 steps of creating a knowledge graph. Each of them takes time and needs careful consideration to ensure it meets the goals of the particular business case it has to serve. As a result, a knowledge graph crafted with a view to a specific context and business data needs immensely broadens the opportunities this technology opens for smart data management.
Here is our list of how to build a knowledge graph:
-
- Clarify your business & expert requirements
Establish the goal behind collecting the data and define what questions you want to be answered. - Gather and analyze relevant data
Discover what datasets, taxonomies and other information (proprietary, open or commercially available) would serve you best to achieve your goal in terms of domain, scope, provenance, maintenance, etc. - Clean data to ensure data quality
Correct any data quality issues to make the data most applicable to your task. This includes removing invalid or meaningless entries, adjusting data fields to accommodate multiple values, fixing inconsistencies, etc. - Create your semantic data model
Analyze thoroughly the different data schemata to prepare for harmonizing the data. Reuse or engineer ontologies, application profiles, RDF shapes or some other mechanism on how to use them together. Formalize your data model using standards like RDF Schema and OWL. - Integrate data with ETL tools or virtualization approaches
Apply ETL tools to convert your data to RDF or use data virtualization to access it via technologies such as NoETL, OBDA, GraphQL Federation, etc. - Harmonize data via reconciliation, fusion and alignment
Match descriptions of one and the same entity across datasets with overlapping scope, handle their attributes to merge the information and map their different taxonomies. - Architect the data management and search layer
Merge different graphs flawlessly using the RDF data model. For locally stored data GraphDB can efficiently enforce the semantics of the data model via reasoning, consistency checking and validation. It can scale in a cluster and synchronize with search engines like Elasticsearch to match the anticipated usage and performance requirements. - Augment your graph via reasoning, analytics and text analysis
Enrich your data extracting new entities and relationships from text. Apply inference and graph analytics to uncover new information. Now your graph has more data than the sum of its constituent datasets. It is also better interconnected, which brings more content and enables deeper analytics. - Maximize the usability of your data
Start delivering the answers to your original questions through different knowledge discovery tools such as powerful SPARQL queries, easy to use GraphQL interface, semantic search, faceted search, data visualization, etc. Also, ensure that your data is FAIR (findable, accessible, interoperable and reusable). - Make your KG easy to maintain and evolve
Finally, after you have crafted your knowledge graph and people have started using it, keep it live by setting up your maintenance procedures – the way it would evolve and updates from the different sources will be consumed while maintaining high data quality.
- Clarify your business & expert requirements
Why We Have Added Semantics (Again)?
The reason we prefer to have a knowledge graph built with semantic technology is that we like to craft structures that move businesses forward. Because with semantic data we don’t only store data but also have the tools for interpreting it in a way that suits different information needs and helps gain different perspectives.
Functionally, semantic data modeling is about understanding what the data is about and making the knowledge locked in it more explicit. It’s about translating disparate data into information that can be consumed (via queries, via visualization) for different decision-making purposes.
And when it comes to building knowledge graphs done the semantic data modeling way, we have learned from our clients and projects, that this approach offers organizations much more opportunities to transform and interlink data into coherent knowledge. Semantic metadata makes relevant fragments easy to discover and reuse, despite syntactic discrepancies of the schemata of the original sources. Using RDF and other W3C standards to represent your knowledge graph guarantees that your data can be referenced, understood and interpreted in a uniform manner, without dependencies on specific tool vendor’s conventions or undocumented business logic buried into source code.
Technology, Art and the Art of Technology
Technology is about craftsmanship. The very root techne (tekhnē) has implicitly kept this meaning throughout the centuries – it means ‘art, craft’. The process of crafting a knowledge graph has to do with mastery. And mastery here is the ability and the art of gathering datasets, choosing the right way to use them, cleaning and normalizing the data, analyzing the input and preparing it to serve the customized domain model that needs to be built.
The process can never be the same and is no trivial task. It takes dedication, expertise and knowledge of the techniques and approaches that would best serve this challenge. As Amit Sheth wrote in his Why do these Knowledge Graphs need 10,000 pairs of hands?:
Building a KG is a human-intensive process, and humans are primarily involved not only for schema level issues but also instance/fact level issues.
Add to this the fact that businesses have their uniqueness and individuality and a one-fits-all solution cannot be an option and it never has been. Instead, a craft approach is required here.
The steps we have described in this blog post are a solid way to define a project and make the most of building a knowledge graph. They all have their intricacies and there is no singular way to derive value from data.
One thing is for sure, though. Built one way or another, the knowledge graph is to continue helping enterprises navigate the complex world of data and data-based decision-making.


