This presentation starts with an introduction to the Semantic Web and then moves on to discuss a project of mine involving using the Semantic Web for Genealogy.
The presentation discusses various "vocabularies" that are used to represent topics specific to genealogy.
1. A Description of the Project Idea
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 1
2. What is the Semantic Web and
Reasons for use in Genealogy
Encourages linked data – information sharing
Simple database model
Information is not trapped in a single application but
it shared globally.
Contributing to the Semantic Web increases the
usefulness for everyone (there’s more value when more
people use it).
Common vocabularies exist for describing
relationships within and between the
data(information)
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 2
3. First we need to understand what is meant by the Semantic Web
before we can discuss the application
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 3
4. Syntax Versus Semantics
Syntax is like the rules of grammar, and how we order
our words… or in terms of computers it deals with the
format and structure of commands or how we give
commands to a computer.
Semantics deals with meaning.
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 4
5. Representing Meaning
RDF: Resource Descriptive Framework
Everything is a resource
Data/Information/Knowledge is represented as triples:
Subject – Predicate – Object
RDF is also a file format. An example that will be
presented below is a foaf file: foaf.rdf
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 5
6. Meaning represented as triples
Bruce knows Jean
Person1 first_name Bruce
Person1 last_name Whealton
Similar to saying Person1 hasFirstName (has a first
name of) Bruce
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 6
7. Address book Graph
P1 Knows Jean
First
name Bruce
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 7
8. FOAF – Friend of a Friend
A Semantic Web Vocabulary used to describe people,
their activities and their relationships to one another.
It is becoming very popular for people who discover
this to setup and have their own FOAF profile.
This vocabulary is the base from which other
vocabularies are extended.
So, what is a vocabulary in this context?
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 8
9. Semantic Web Vocabularies and
Ontologies
For the Semantic Web we deal with controlled
vocabularies, which define terms and how they relate
to each other.
We have a hierarchy of Classes which each have
properties.
This is where you get the triples which relate the
classes to the values of these properties.
Let’s take some examples…
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 9
10. A Person “has name” “Bruce Whealton”
Person is a class and “has name” is the predicate with
“Bruce Whealton” being the value
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 10
11. We use a vocabulary to describe concepts that relate to
a specific domain, or an area of knowledge… or simply
toa set of concepts.
Different fields and professions have their own
vocabulary.
We need to define how the terms we want to use relate
to one another.
This is how we express meaning on the semantic web;
And form Semantic Web databases – aka Triple Stores
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 11
12. FOAF concepts are prefixed with the letters foaf.
Examples: foaf:Person is a class which describes a
person.
foaf:name is a property
foaf:Person foaf:name “Bruce Whealton”
A triple
Much more can be represented with this vocabulary,
such as chat ids, web pages, weblogs;
One of the most important things is who you know.
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 12
13. Using this property web crawlers can discover foaf
profiles by crawling from one profile to the next.
Each foaf profile will have links to the people that one
knows along with links to web pages that describe
those people, e.g. their foaf profile.
Web crawlers follow those links…
You build your network through the links within your
foaf profile and the links to you in other profiles.
Your foaf profile is stored in a file, typically, in RDF
format which was described earlier in this
presentation, i.e. foaf.rdf
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 13
14. Vocabulary = Ontology
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 14
15. The approach taken is to describe a person's life as a series of interconnected key events,
around which other information can be woven.
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 15
16. All terms in this vocabulary are prefixed with “bio:”
bio:Birth – includes date, parents, location
bio:Marriage – includes date, location, names of
persons
These are classes that represent Events
bio:Graduation – an event relating to graduation from
some school or studies
bio:Death – includes date, place and bio:principal
(meaning the person who’s death is represented)
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 16
17. Properties
bio:olb – one line bio
bio:biography – can be several paragraphs or a reference
to a document.
bio:keywords – key words to describe a person.
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 17
18. Terms in this vocabulary begin with “rel:”
rel:ancestorOf – self-explanatory
rel:descendantOf – opposite of rel:ancestorOf
Note: same person cannot be both of above
Also note, each property is a property of a foaf:Person
Example:
PersonA rel:ancestorOf PersonB
Above is an example of a triple, explicitly stated
information.
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 18
19. rel:spouseOf – symmetrical property because if
PersonA rel:spouseOf PersonB then
PersonB rel:SpouseOf personA
rel:siblingOf – symmetrical for same reason
rel:parentOf – not symmetrical property (person
cannot be parent of another person and have that
person be their parent also).
rel:childOf – if PersonA rel:parentOf PersonB then
PersonB rel:childOf PersonA
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 19
20. Rel:GrandchildOf
Rel:GrandparentOf
Various other properties that relate one person to
another person
Presented by Bruce Whealton: Future Wave
Designs: http://FutureWaveDesigns.com 20