Knowledge bases

Storing knowledge

Resource Description Framework (RDF)


How can we store information like "Joe Blogs was born in the city London"?

Information is described as an RDF triple:

  • Subject

  • Predicate

  • Object


"Joe Blogs was born in the city London" can be written as:

(Joe Blogs, BornCity, London)


We can associate a confidence with each triple.

Knowledge bases as graphs


We can consider each fact to be a mini graph.

For "Joe Blogs was born in the city London" we have:

Joe Blogs \(\rightarrow^{was born in the city }\) London

Using knowledge

Inferring facts


Now we add another fact:

London \(\rightarrow^{is a city in the country }\) UK

We can use these to define a new predicate: "was born in the country" and generate the fact:

Joe Blogs \(\rightarrow^{was born in the country }\) UK

Relational learning


Consider two facts:

Alice \(\rightarrow^{IsA }\) Doctor

Bob \(\rightarrow^{HasMother }\) Alice

We can consider another fact:

Bob \(\rightarrow^{IsA }\) Doctor

Confidence of inferred facts

How confident should we be of this?

In practice the graph between Bob and Doctor will have many paths (qualifications)

Prior and posterior confidence


If we have a new fact, and a prior, we can create a posterior condfidence on the fact.

Collecting knowledge