Introduction To Knowledge Graphs
Selvakumar M
Senior Principal Research Engineer, Saama
Agenda
● Why?
● Data & Information
● Conceptual Models
● Knowledge representation
● Knowledge Graph
● SPARQL
Why?
● Explainability
● Reusability
● Alignment
● Reasoning
● Efficiency
Models and Motivation
● Diagrammatic Representations
○ Visualization/Infographics
○ Mind maps
○ Conceptual Models
● Computational Models
○ Mathematical Models - (mostly differential) equation driven
○ Statistical Models - data driven and with known properties
○ Machine Learning Models - data driven and with unknown properties
Information and its Retrieval
Information
= Data + Meaning
Knowledge
= Contextualized Information
Data and Information
Basic Technical Creator Marketing
Title ISRC Songwriter(s) Cover Art
Artist Name UPC Producers Release Notes
Release Date Bpm Musicians Genre
Lyrics Key Copyright Mood/Theme
Duration
Mind Map
CO2 Cycle
Food Web
Limitations
Entity Relationship Model
WordNet
● hypernym: kind-of (canine is a hypernym of dog)
● hyponym: kind-of (dog is a hyponym of canine)
● holonym: part-of (building is a holonym of window)
● meronym: part-of (window is a meronym of building)
● coordinate term: (wolf is a coordinate term of dog, and dog is a coordinate term of wolf)
● troponym: verbal part-of (to lisp is a troponym of to talk)
● entailment: follows (to sleep is entailed by to snore)
Knowledge Representation
● Documents (files, html, pdf)
● Databases (tables, json, xml)
● Logical assertions (e.g: Prolog)
● Knowledge Graph (e.g: DBpedia, OpenCyc)
Documents
Example Family Tree
Chandran is the father of Meena and the grandfather of Lalitha and Arun.
Meena is the mother of Lalitha and Arun.
Chandran is the father of Meena and the grandfather of Lalitha and Arun.
Meena is the mother of Lalitha and Arun.
Logic in Prolog
% Facts
parent(chandran, meena). % Rules
parent(meena, lalitha). father(F, C) :- parent(F, C), male(F).
parent(meena, arun). mother(M, C) :- parent(M, C), female(M).
grandparent(G, C) :- parent(G, P), parent(P, C).
male(chandran). sibling(X, Y) :- parent(P, X), parent(P, Y), X \= Y.
male(arun).
female(meena).
female(lalitha).
% Queries you can ask:
% ?- father(chandran, meena). % Should return true.
% ?- mother(meena, lalitha). % Should return true.
% ?- grandparent(chandran, lalitha). % Should return true.
% ?- sibling(lalitha, arun). % Should return true.
% ?- grandparent(ravi, arun). % Should return true.
RDF Graph
@prefix ex: <http://example.org/relationships#> .
@prefix person: <http://example.org/people#> .
SELECT ?grandparent ?grandchild
# Individuals with gender information WHERE {
person:chandran ex:hasGender "male" . ?grandparent ex:parent ?parent .
person:meena ex:hasGender "female" . ?parent ex:parent ?grandchild .
person:lalitha ex:hasGender "female" . }
person:arun ex:hasGender "male" .
# grandmother
SELECT ?grandmother ?grandchild
# Parent relationships WHERE {
person:chandran ex:parent person:meena . ?grandmother ex:hasGender "female" .
person:meena ex:parent person:lalitha . ?grandmother ex:parent ?parent .
person:meena ex:parent person:arun . ?parent ex:parent ?grandchild .
}
Graph Types
Hypergraph - edges connect multiple
Graph - edges connect only two nodes
nodes
Ubergraph - edges can connect to other edges too, and too
complicated to draw a picture of
Property Graph: focus on relationships
e.g: Neo4j, JanusGraph
RDF Graph - focus on entities
Popular Public Resources: DBpedia, YAGO
● DBpedia - Wikipedia (infoboxes)
○ Alexa and Siri
● YAGO - Wikipedia, WordNet, WikiData, GeoNames, etc.
○ Watson AI
Thank You!
Questions?