Upload
tracingnetworks
View
2.181
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
Tracing NetworksTracing Networks
Yi HongDepartment of Computer ScienceUniversity of Leicester
Ontology-based software application in a Nutshell
Semantic WebSemantic Web
2
“Semantic web is an evolution to the current web and provide new information representation feature.”
•Current web•Document-centric•Human readers•Syntax (Schema)•HTML, XML etc.
•Semantic web•Knowledge representation•Machine readable•Semantics (Ontology)•RDF, OWL etc
Tracing Networks programme
OntologyOntology
3
What is an ontology?“An ontology is a formal specification of a conceptualization” -Thomas Gruber
Domain ontology e.g. (CIDOC-CRM for archaeology, Gene, GXO for Genetics)
Ontology
Concepts
Specified byDescribes
Modelled by
Domain
Ontology-based databaseOntology-based database
What is an ontology-based database.How it is different from a relational
database.Why use ontology? What can you do
with an ontology-based database.How to query an ontology-based
database.
4
Relational database vs Ontology-Relational database vs Ontology-based databasebased database
Image on a ceramic vessel found at Sopron-Várhely
5(provided by Katharina)
Example : Image tagging and search for human representation database
6
Object ID: 15 Inventory number: 443 Excavation site: Sopron-Várhely (N47.66519, E16.518044
Hungary) Human figure (individuals)
◦ rider◦ wagon guide◦ wagon rider
Animal◦ 2 horses
◦ 1 horse Material:
◦ ceramic Technology:
◦ Incised
`
etc.……….(60+ attributes)
Data structure
Relational database vs Ontology-Relational database vs Ontology-based databasebased database
7
Database schema
Entity-relationship diagram
Relational database (MS Access 2007)
Relational database vs Ontology-Relational database vs Ontology-based databasebased database
tables, fields (columns)
Data
primary-foreign key pairs
Relational vs Ontology-based Relational vs Ontology-based databasedatabase
8
Relational Database
Ontology-based Database (Triple
store) MySQL, Oracle, SQL Server,
MS Access etcJena SDB, virtuoso universal server, RDF/OWL document
Database Schema (table, field, key)
Ontology(class, property, individual)
records triples (RDF graph)
Data Structure
Basic elements
Database products
Data storage
OntologyOntology
◦Semantics Class Property Individual
9
individual
classpropert
y
has value for
restrict
is instance of
OntologyOntology
Class◦ Person◦ Archaeologist
Property◦ Is a friend of◦ subClassOf◦ instanceOf
Individual◦ Alex◦ John
10
Ontology example:
OntologyOntology
Subject
Predicate
Object
A Triple is:Basic element in the ontology world.contains three parts: subject, predicate and object.
OntologyOntology
Ceramic pot
was found in
Leicester
A Triple is:Basic element in the ontology world.contains three parts: subject, predicate and object.
OntologyOntologyRDF Graph A set of triples become a graph An ontology-based database is a graph
Ceramic pot
was found in
Leicester
14
Object
wasFoundAtSite
IndividualFigure
Animal
Scene
Material
wasMadeFrom
hasScene
Appears On
…….
Country
isLocatedIn
Horse
subClassOf
contains
Appears On
Ontology
…….……s.
(Protégé Ontology Editor)
Relational database vs Ontology-Relational database vs Ontology-based databasebased database
Appears On
…….
http://protege.stanford.edu/
Relational vs Ontology-based Relational vs Ontology-based databasedatabase
15
SQL
generate
Relational Database
query
Database
Query language SPARQL
generate
query
Ontology-based Database (Triple
store)
Query Interface
Text-based keywords+ options Graph pattern
Search
Why use ontology?Why use ontology?
16
Tags: cat , mouse,
• Problem with traditional keyword search
Why use ontology?Why use ontology?
17
Tags: cat , mouse,
• Problem with traditional keyword search• Ambiguous semantics
A tag is normally a freely-chosen, non-hierarchical keyword or term.
The tag can be the identical but it might have different interpretation.
What you are looking for …..
Why use ontology?Why use ontology?
18
Tags: cat , mouse,
• Problem with traditional keyword search• Ambiguous semantics
What you actually get…
The meaning of the keyword is unclear
(Can not tell what it is about by only looking at the tags… )
Why use ontology?Why use ontology?
19
Tags: cat , mouse,
• Problem with traditional keyword search• Labelling objects rather than relationship
the keyword approach is more focus on labeling objects rather than the relationship
Not way to describe the links (chasing) between them.
Describing the link between objects is as important as tagging the objects themselves
Why use ontology?Why use ontology?
20
Tags: cat , mouse, chase
• Problem with traditional keyword search• Labelling objects rather than relationship
Additional tags will not be sufficient to describe the links. By adding the third tag “chase”.
The question remains :
Who is chasing who?
Why use ontology?Why use ontology?
21
◦ Problem with traditional keyword search Difficult to describe complex and arbitrary
query
Query:
“Display images with an animal and a person on them, along with what is happening between them"
rider
horse
Why use ontology?Why use ontology?
22
How to describe this search in a query interface?
Google style?
single textbox
Not expressive enough
Library style?
Textbox with drop down list or check box
Not flexible enough
Native SQL?
SQL syntax
Learn complex syntax Knowledge of DB schema Difficult to write
What else?
Query: “Display images with an animal and a person on them, along with what is happening between them"
Why use ontology?Why use ontology?
23
◦ Problem with traditional keyword search Unable to perform automatic reasoning
rider
horse
Problems 1
Ask for : person, animalActual tags: rider, horse
Traditional search engine is based on keyword match. the tags we have here are rider and horse, if it does not contain any keywords we entered, the search engine will not return anything
It needs background knowledge to understand a rider is a person riding a horse and a horse is in fact an animal.
Why use ontology?Why use ontology?
24
◦ Single user Mode vs Collaborative Mode Degree of uncertainty User credibility and expertise
definitely a
horse!
probably a
fox ?
Domain-specific expertise index = E(d)
Degree of uncertainty = CF
horseTagged area 95%
Is a
zoologist 5 year kid
Query results visualisation Query results visualisation --Geo-mappingGeo-mappingKeyhole Markup Language (KML/KMZ)
http://code.google.co m/apis/kml/documentation/
◦ XML-based language.◦ Supports place marks, images, polygons, 3D
models, textual descriptionsCompatibility◦ Google Map◦ Google Maps for Mobile ◦ Google Earth◦ ESRI ArcGIS Explorer,
25
Query results visualisation Query results visualisation - Statistical charts- Statistical chartsGoogle Chart API
◦ http://code.google.com/apis/chart/◦ Interactive Flash◦ Javascript arrays or XML files
Compatibility◦ Most mainstream browsers
Internet Explorer Firefox Safari Chrome
26
27
Ontology-based software demoOntology-based software demo
Semantic tagging
Query by graph pattern
Integration with Google earth
Statistical charts
System ArchitectureSystem Architecture
28
LinksLinksA Guide to Creating Your First Ontology
◦ By Stanford University◦ http://www.ksl.stanford.edu/people/dlm/papers/ontology-
tutorial-noy-mcguinness-abstract.htmlProtégé Ontology editor
◦ http://protege.stanford.edu/◦ Protégé tutorial
http://owl.cs.manchester.ac.uk/tutorials/protegeowltutorial/CIDOC-CRM ontology
◦ An ontology for culture and heritage domain◦ http://www.cidoc-crm.org/
KML guide and tutorial◦ http://code.google.com/apis/kml/documentation/
kml_tut.html29