The Semantic Web and Ontologies
-
Upload
alden-ortiz -
Category
Documents
-
view
41 -
download
0
description
Transcript of The Semantic Web and Ontologies
The Semantic Web and Ontologies
OntoGrid Semantic Grid Tutorial,
February, 2007, Manchester, UK
Sean Bechhofer,School of Computer Science, University of Manchester, UK
OntoGrid: Semantic Grid Tutorial 2
The Semantic Web Vision• The Web was made possible through established standards
– TCP/IP for transporting bits down a wire
– HTTP & HTML for transporting and rendering hyperlinked text
• Applications able to exploit this common infrastructure– Result is the WWW as we know it
• 1st generation web mostly handwritten HTML pages• 2nd generation (current) web often machine generated/active
– Both intended for direct human processing/interaction
• In the next generation web, resources should be more accessible to automated processes – To be achieved via semantic markup
– Metadata annotations that describe content/function
• Coincides with vision of a Semantic Web
OntoGrid: Semantic Grid Tutorial 3
History of the Semantic Web• Web was “invented” by Tim Berners-Lee (amongst others), while
working at CERN• TBL’s original vision of the Web was much more ambitious than the
reality of the existing (syntactic) Web:
• A number of researchers have since been working towards realising this vision, which has become known as the Semantic Web– E.g., article in May 2001 issue of Scientific American…
... a goal of the Web was that, if the interaction between person and hypertext could be so intuitive that the machine-readable information space gave an accurate representation of the state of people's thoughts, interactions, and work patterns, then machine analysis could become a very powerful management tool, seeing patterns in our work and facilitating our working together through the typical problems which beset the management of large organizations.
OntoGrid: Semantic Grid Tutorial 4
• Realising the complete “vision” is too hard for now (probably)• But we can make a start by adding semantic annotation to web resources
Scientific American, May 2001:
Don’t Believe
the Hype!
Chuck D sez:
OntoGrid: Semantic Grid Tutorial 5
Where we are Today: the Syntactic Web
Resource
ResourceResource Resource Resource
ResourceResource Resource
Resource
Resource
hrefhrefhref
hrefhrefhref
hrefhrefhref
href href
href
• A place where computers do the presentation (easy) and people do the linking and interpreting (hard).
• Why not get computers to do more of the hard work?
OntoGrid: Semantic Grid Tutorial 6
Hard Work using the Syntactic Web…
Find images of Steve Furber
Rev. Alan M. Gates, Associate Rector of the Church of the Holy Spirit, Lake Forest, Illinois
…Carole Goble … Alan Rector…
OntoGrid: Semantic Grid Tutorial 7
What’s the Problem?
Typical web page markup consists of:
rendering information (e.g., font size and colour)Hyper-links to related content
Semantic content is accessible to humans but not (easily) to computers…
OntoGrid: Semantic Grid Tutorial 8
Information we can see…WWW2006 Edinburgh, ScotlandThe eleventh international world wide web conference23rd--26th MayEdinburgh International Conference Centre
Who should attend and who will you meet?No other event draws the breadth…
Look Who’s TalkingRichard Granger reviews the revamping of the NHS IT programme
Look Who’s TalkingVeriSign's pincipal scientist, Dr Phillip Hallam-Baker, goes phishing...
Registration opens with special offer ticketsProfessor Wendy Hall has announced the opening of registration for the 15th annual World Wide Web Conference 2006…
OntoGrid: Semantic Grid Tutorial 9
…
…
Information a machine can see…
OntoGrid: Semantic Grid Tutorial 10
Solution: XML markup with “meaningful” tags?
<name> </name><date> </date> <location> </location>
<introduction>
… </introduction><speaker> <bio> </bio></speaker><speaker> <bio> </bio></speaker> <registration>
<registration>
OntoGrid: Semantic Grid Tutorial 11
But What About…?
<conf> <conf><date> </date> <place> <place>
<introduction>
… </introduction><speaker> <bio> </bio></speaker><speaker> <bio> </bio></speaker> <registration>
<registration>
OntoGrid: Semantic Grid Tutorial 12
Still the Machine only sees…
< > < >< > </ > <> <>
< >
… </ >< > < > </ ></ >< > < > </ ></ > < >
< >
OntoGrid: Semantic Grid Tutorial 13
Need to Add “Semantics”
• External agreement on meaning of annotations– E.g., Dublin Core for annotation of library/bibliographic information
• Agree on the meaning of a set of annotation tags– Problems with this approach
• Inflexible• Limited number of things can be expressed
• Use Ontologies to specify meaning of annotations– Ontologies provide a vocabulary of terms– New terms can be formed by combining existing ones
• “Conceptual Lego”– Meaning (semantics) of such terms is formally specified– Can also specify relationships between terms in multiple ontologies
Machine Processable
not
Machine Understandable
OntoGrid: Semantic Grid Tutorial 14
• An ontology is an engineering artifact: – It is constituted by a specific vocabulary used to describe a certain
reality, plus – a set of explicit assumptions regarding the intended meaning of
the vocabulary. • Almost always including how concepts should be classified
• Thus, an ontology describes a formal specification of a certain domain:– Shared understanding of a domain of interest– Formal and machine manipulable model of a domain of interest
Ontology in Computer Science
OntoGrid: Semantic Grid Tutorial 15
Building a Semantic Web
• Annotation– Associating metadata with resources
• Integration– Integrating information sources
• Inference– Reasoning over the information we have.– Could be light-weight (taxonomy)– Could be heavy-weight (logic-style)
• Interoperation and Sharing are key goals
OntoGrid: Semantic Grid Tutorial 16
Languages
• Work on Semantic Web has concentrated on the definition of a collection or “stack” of languages. – These languages are then used to support the representation and
use of metadata.
• The languages provide basic machinery that we can use to represent the extra semantic information needed for the Semantic Web– XML– RDF– RDF(S)– OWL– …
OWL
Integration
RDF(S)
RDF
XML
Annotation
Integration
Inference
OntoGrid: Semantic Grid Tutorial 17
Ontology Languages• We need languages that allow us to represent this information
– Ontology Languages!
• There are a wide variety of languages for this “Explicit Specification”– Graphical
• Semantic Networks, Topic Maps, UML, RDF– Logical
• Description Logics, First Order Logic, Rules, Conceptual Graphs
Every gardener likes the sun 8x.gardener(x) ) likes(x, Sun)You can fool some of the people all of the time 9x.8t.(person(x) Æ time(t)) ) can-fool(x,t)You can fool all of the people some of the time 8x.9t.(person(x) Æ time(t)) ) can-fool(x,t)All purple mushrooms are poisonous 8x.(mushroom(x) Æ purple(x)) ) poisonous(x)No purple mushroom is poisonous :9x.(mushroom(x) Æ purple(x) Æ poisonous(x)) 8x.(mushroom(x) Æ purple(x)) ) : poisonous(x)There are exactly two purple mushrooms 9x.9y.mushroom(x) Æ purple(x) Æ mushroom(y) Æ purple(y) Æ (:x=y) Æ (8x.mushroom(z) Æ purple(z) ) ((x=z) _ (y=z)))Clinton is not tall : tall(Clinton)
mother(X,M) :- parent(X,M), female(M).father(X,F) :- parent(X,F), male(F).sister(X,S) :- female(S), parent(S,P), parent(X,P), X \== S.
male(james1).male(charles1).male(charles2).male(james2).male(george1).female(catherine).female(elizabeth).female(sophia).parent(charles1, james1).parent(elizabeth, james1).parent(charles2, charles1).parent(catherine, charles1).parent(james2, charles1).parent(sophia, elizabeth).parent(george1, sophia).
OntoGrid: Semantic Grid Tutorial 18
Object Oriented Models• Many languages use an “object oriented model” with• Objects/Instances/Individuals
– Elements of the domain of discourse– Equivalent to constants in FOL
• Types/Classes/Concepts– Sets of objects sharing certain characteristics– Equivalent to unary predicates in FOL
• Relations/Properties/Roles– Sets of pairs (tuples) of objects– Equivalent to binary predicates in FOL
• Such languages are/can be:– Well understood– Formally specified– (Relatively) easy to use– Amenable to machine processing
OntoGrid: Semantic Grid Tutorial 19
Why (Formal) Semantics?
• Increased formality makes languages more amenable to machine processing (e.g. automated reasoning).
• The formal semantics provides an unambiguous interpretation of the descriptions. – What does an expression in an ontology language mean?– The semantics of a language tell us precisely how to interpret a
complex expression.
• Well defined semantics are vital if we are to support machine interpretability– They remove ambiguities in the interpretation of the descriptions.
Black
Telephone
?
OntoGrid: Semantic Grid Tutorial 20
RDF
• RDF stands for Resource Description Framework• It is a W3C Recommendation
– http://www.w3.org/RDF
• RDF is a graphical formalism ( + XML syntax + semantics)– for representing metadata– for describing the semantics of information in a machine- accessible
way
• Provides a simple data model based on triples.
OntoGrid: Semantic Grid Tutorial 21
The RDF Data Model• Statements are <subject, predicate, object> triples:
– <Sean,hasColleague,Ian>
• Can be represented as a graph:
• Statements describe properties of resources• A resource is any object that can be pointed to by a URI:
– The generic set of all names/addresses that are short strings that refer to resources
– a document, a picture, a paragraph on the Web, http://www.cs.man.ac.uk/index.html, a book in the library, a real person (?), isbn://0141184280
• Properties themselves are also resources (URIs)
Sean
IanhasColleague
OntoGrid: Semantic Grid Tutorial 22
Linking Statements
• The subject of one statement can be the object of another• Such collections of statements form a directed, labeled graph
• The object of a triple can also be a “literal” (a string)
Sean
Ian
hasColleague
Carole
http://www.cs.man.ac.uk/~horrocks
hasColleague
hasHomePage
“Sean K. Bechhofer”
hasName
OntoGrid: Semantic Grid Tutorial 23
RDF Syntax
• RDF has an XML syntax that has a specific meaning:• Every Description element describes a resource• Every attribute or nested element inside a Description is a
property of that Resource• We can refer to resources by URIs
<rdf:Description rdf:about="some.uri/person/sean_bechhofer"> <o:hasColleague resource="some.uri/person/ian_horrocks"/> <o:hasName rdf:datatype="&xsd;string">Sean K. Bechhofer</o:hasName></rdf:Description><rdf:Description rdf:about="some.uri/person/ian_horrocks"> <o:hasHomePage>http://www.cs.mam.ac.uk/~horrocks</o:hasHomePage></rdf:Description><rdf:Description rdf:about="some.uri/person/carole_goble"> <o:hasColleague resource="some.uri/person/ian_horrocks"/></rdf:Description>
OntoGrid: Semantic Grid Tutorial 24
What does RDF give us?
• A mechanism for annotating data and resources.• Single (simple) data model.• Syntactic consistency between names (URIs). • Low level integration of data.
OntoGrid: Semantic Grid Tutorial 25
RDF(S): RDF Schema
• RDF gives a formalism for meta data annotation, and a way to write it down in XML, but it does not give any special meaning to vocabulary such as subClassOf or type (supporting OO-style modelling)– Interpretation is an arbitrary binary relation
• RDF Schema extends RDF with a schema vocabulary that allows you to define basic vocabulary terms and the relations between those terms– Class, type, subClassOf, – Property, subPropertyOf, range, domain
– it gives “extra meaning” to particular RDF predicates and resources
– this “extra meaning”, or semantics, specifies how a term should be interpreted
OntoGrid: Semantic Grid Tutorial 26
RDF(S) Inference
Lecturer
Academic
Person
rdfs:subClassOf
rdf:subClassOf
rdfs:subClassOf
rdf:type
rdfs:Class
rdf:type
rdf:type
OntoGrid: Semantic Grid Tutorial 27
RDF(S) Inference
Sean
Lecturer
rdf:type
rdfs:Class
Academic
rdfs:subClassOf
rdf:type
rdf:type
rdfs:type
OntoGrid: Semantic Grid Tutorial 28
What does RDF(S) give us?• Ability to use simple schema/vocabularies when describing our
resources.• Consistent vocabulary use and sharing.• Simple inference• CS AktiveSpace
– Lightweight schema to integrate data from University sites
• myGrid– Service descriptions for e-Science
OntoGrid: Semantic Grid Tutorial 29
Problems with RDFS• RDFS is too weak to describe resources in sufficient detail
– No localised range and domain constraints• Can’t say that the range of hasChild is person when applied to
persons and elephant when applied to elephants– No existence/cardinality constraints
• Can’t say that all instances of person have a mother that is also a person, or that persons have exactly 2 parents
– No transitive, inverse or symmetrical properties• Can’t say that isPartOf is a transitive property, that hasPart is
the inverse of isPartOf or that touches is symmetrical
• It can be difficult to provide reasoning support– No “native” reasoners for non-standard semantics– May be possible to reason via FO axiomatisation
OntoGrid: Semantic Grid Tutorial 30
Web Ontology Language Requirements
Desirable features identified for Web Ontology Language:
• Extends existing Web standards – Such as XML, RDF, RDFS
• Easy to understand and use– Should be based on familiar KR idioms (e.g. OO-style, frames etc).
• Formally specified
• Of “adequate” expressive power
• Possible to provide automated reasoning support
OntoGrid: Semantic Grid Tutorial 31
Joint EU/US Committee
DAML
OntoKnowledge+Others
The OWL Family Tree
Frames
Description Logics
RDF/RDF(S)
OIL
DAML-ONT
DAML+OIL OWLW3C
OntoGrid: Semantic Grid Tutorial 32
OWL
• W3C Recommendation (February 2004) • Well defined RDF/XML serializations• A family of Languages
– OWL Full– OWL DL– OWL Lite
• Formal semantics– First Order (DL/Lite)– Relationship with RDF
• Comprehensive test cases for tools/implementations• Growing industrial takeup.
OntoGrid: Semantic Grid Tutorial 33
OWL Basics
• Set of constructors for concept expressions– Booleans: and/or/not– Quantification: some/all
• Axioms for expressing constraints– Necessary and Sufficient conditions on classes– Disjointness– Property characteristics: transitivity, inverse
• Facts– Assertions about individuals
OntoGrid: Semantic Grid Tutorial 34
Reasoning with OWL• OWL (DL) has a well defined semantics that tells us how to
interpret expressions in the language.• This semantics corresponds to “traditional” interpretations given
to first order logic or subsets of FOL like Description Logics.• OWL DL based on a well understood Description Logic
(SHOIN(Dn))– Formal properties well understood (complexity, decidability)– Known reasoning algorithms– Implemented systems (highly optimised)
• Because of this, we can reason about OWL ontologies, allowing us to draw inferences from the basic facts that we provide.
OntoGrid: Semantic Grid Tutorial 35
Reasoning Tasks
• Subsumption reasoning– Allows us to infer when one class is a subclass of another– Can then build concept hierarchies representing the taxonomy. – This is classification of classes.
• Satisfiability reasoning– Tells us when a concept is unsatisfiable
• i.e. when it is impossible to have instances of the class.– Allows us to check whether our model is consistent.
• Instance Retrieval/Instantiation• What are the instances of a particular class C?• What are the classes that x is an instance of?
Sean Bechhofer:
Concrete Examples: Grid/VO?
GONG?
Sean Bechhofer:
Concrete Examples: Grid/VO?
GONG?
OntoGrid: Semantic Grid Tutorial 36
Classification
OntoGrid: Semantic Grid Tutorial 37
Why Reasoning?• Reasoning can be used as a design support tool
– Check logical consistency of classes– Compute implicit class hierarchy
• May be less important in small local ontologies– Can still be useful tool for design and maintenance– Much more important with larger ontologies/multiple authors
• Valuable tool for integrating and sharing ontologies– Use definitions/axioms to establish inter-ontology relationships– Check for consistency and (unexpected) implied relationships
• Basis for answering queries.• Reasoning can help underpin the provision of the machine
processing required of the Semantic Web.
OntoGrid: Semantic Grid Tutorial 38
What does OWL give us?
• Rich language for describing domain models.• Unambiguous interpretations of complex descriptions.• The ability to use inference to manage our vocabularies.• GONG• VO Formation• PhosphaBase
OntoGrid: Semantic Grid Tutorial 39
More Languages• RDF, RDF(S) and OWL provide basic representational capabilities. • We also need mechanisms that allow us to access and query the
information. – RDF has an underlying concrete syntax based on XML. Why not just use
something like XPath to query the RDF?
• RDQL, RQL, SeRQL, … – W3C Data Access Working Group attempting to standardise on SPARQL
• Elements of the earlier languages with a well-defined semantic basis– OWL-QL Query language for OWL.
• Allow specification of conjunctive queries using OWL concept expressions
• Also investigations into extensions of the expressivity of OWL.– Rules
OntoGrid: Semantic Grid Tutorial 40
Potential Pitfalls
OntoGrid: Semantic Grid Tutorial 41
Conflicting Views• The Semantic Web community is diverse, with a rough division
between the “neats” and the “scruffies”.
• Neats– Logic and languages
– Completeness/decidability
– Top down, well-behaved
– Heavyweight
– Rich ontologies
– OWL
• Scruffies– Practice
– Bottom up/real-world
– Lightweight
– Folksonomies
– FOAF
– RDF
OntoGrid: Semantic Grid Tutorial 42
Semantic Web vs Semantic Web• Semantics/AI/KR community with little attention paid to Web
aspects– “You’re not doing it properly”
• Web community with little attention paid to Semantics. – “Just stick everything in a big RDF store and it’ll all be fine”
• Diversity can be healthy, but can also lead to fragmentation and pointless arguments. Splitters!
OntoGrid: Semantic Grid Tutorial 43
Tools and Services• We need to provide tools and services to help users to:
– Design and maintain high quality ontologies, e.g.:• Meaningful — all named classes can have instances• Correct — captured intuitions of domain experts• Minimally redundant — no unintended synonyms• Richly axiomatised — (sufficiently) detailed descriptions
– Store (large numbers) of instances of ontology classes, e.g.:• Annotations from web pages
– Answer queries over ontology classes and instances, e.g.:• Find more general/specific classes• Retrieve annotations/pages matching a given description
– Integrate and align multiple ontologies
OntoGrid: Semantic Grid Tutorial 44
How thick is your infrastructure?
• Sharing is about interoperations. Ensuring that when you look at or process my data, you do it in a consistent way.
• “Thick” infrastructure can help interoperability. Clients don’t have to guess how to interpret things. – But can be harder to build
Thick Infrastructure
Thin Apps Thin Apps
OntoGrid: Semantic Grid Tutorial 45
How thick is your infrastructure?
• A lightweight infrastructure (e.g. RDF) means that clients/apps have to do more. And may do it differently.
• Metadata can end up being locked away within the applications where others can’t get at it. Is that sharing? Are you exposing the semantics?
Thin Infrastructure
Thick Apps Thick Apps
OntoGrid: Semantic Grid Tutorial 46
Trust and Security• Publishing my information in machine-processable forms may
allow you to:– Work out what I’m doing– Integrate across multiple sources to produce new conclusions
• How do I control this?• We need mechanisms that will allow us to control access to
knowledge• We need mechanisms that allow us to
ascribe provenance and trust information to our knowledge.– The SW “stack” sees these at the top.
Some of this has to come from the bottom though.
OntoGrid: Semantic Grid Tutorial 47
Scalability
• Will this stuff work on a web scale?• Millions of triples/fact• Thousands of ontologies• Are you ever going to get global agreements?
OntoGrid: Semantic Grid Tutorial 48
Language Summary• We’ve seen some of the technology being proposed as a basis
for building the Semantic Web• These languages provide basic machinery that we can use to
represent the extra semantic information needed for the Semantic Web– XML– RDF– RDF(S)– OWL
OWL
Integration
RDF(S)
RDF
XML
Annotation
Integration
Inference