Knowledge graph is a way of representing information where entities/nodes (people, places, products, concepts) are linked by relationships/edges (works, creates, has ). It is a semantic network that captures facts and context. There is also an ontology that defines different types of node/edges and defines what types exist and how they relate. These are used to integrate large datasets and give a visual trace of inference pathways.
One place they are used is to show health records and genomic data and can surface relationships between events with entities. A typical database just stores the data in a file vs a knowledge graph where the interaction between nodes is the key. In this scenario one entity/fact can be related to many others thus enabling inference and context aware queries. It’s use in fraud detection shows that it can be used in real time analytics, though its use for uncertain facts might need probabilistic edges. One way to visualize this is to move from Patient A → has high lead concentration in blood → ADHD diagnosis. It can help detect patterns on a longer path too : Patient B → all blood tests normal → has muscle weakness → did gene test → showed dystrophin abnormality → lead to Myotonic dystrophy.
This these methods can add meaning to data and turn them into a network that can be traversed, reasoned and visualized. They have been used in recommendation engines to recommend new books, movies to customers based on their similar borrows in the past. In healthcare, it can be used to identify patterns such as which patients have been prescribed a specific medication and then trying to find links between diagnosis and genetic history.
A typical platform that is used in the open source community is Neo4j for a graph database that uses a Cypher query language and has a built in visualizer (Bloom)