Slideshare.net (beta)

 
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 2 (more)

An Introduction to the Semantic Web

From hchen1, 6 months ago

1211 views  |  0 comments  |  2 favorites  |  25 downloads
Embed
options

More Info

CC Attribution-NonCommercial LicenseCC Attribution-NonCommercial License
This slideshow is Public
Total Views: 1211
on Slideshare: 1211
from embeds: 0

Slideshow transcript

Slide 1: An Introduction to the Semantic Web Dr. Harry Chen CMSC 491S/691S This work is licensed under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/us/

Slide 2: Agenda  What’s the Semantic Web?  Why is it important to the current Web?  Key technologies that underpin the Semantic Web research  Relating XML, RDF/RDFS, and OWL

Slide 3: Revisiting Our Previous Discussion Slides from our class on Feb 6, 2008

Slide 4: Who is reading your profile?  Both humans and machines HTML detected. But, what’s in the page? Got it! Contact, school, favorites… In order to help computer programs to better understand our profiles and social relationships, we need to express information in an explicit representation.

Slide 5: A More Dramatic Example Adopted from Frank van Harmelen and Jim Hendler

Slide 6: A typical HTML web page

Slide 7: What it looks like to a machine

Slide 8: Okay, so HTML is not helpful Maybe we can tell the machine what the different parts of the text represent? title speaker time location abstract biosketch host

Slide 9: XML to rescue? XML fans propose <title> </title> creating a XML tag set <speaker> </speaker> to use for each <time> </time> application. <location> </location> For talks, we can <abstract> choose <title>, <speaker>, etc. </abstract> <biosketch> </biosketch> <host> </host>

Slide 10: XML  machine accessible meaning But, to your   machine, the tags  still look like this…  .     The tag names  carry no meaning.  XML DTDs and Schemas have  little or no  semantics.  

Slide 11: XML Schema helps <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> XML Schemas provide <xs:element name="book"> <xs:complexType> XML Schema file <xs:sequence> <xs:element name="title" type="xs:string"/> a simple mechanism to <xs:element name="author" type="xs:string"/> <xs:element name="character" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> define shared <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> vocabularies. <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> </xs:complexType> </xs:element>  </xs:schema>                           

Slide 12: But there are many schemas <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="book"> <xs:element name="book"> <xs:complexType> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> XML Schema file 1 <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="character" minOccurs="0" maxOccurs="unbounded"> <xs:element name="character" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:complexType> <xs:sequence> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> XML Schema file 42 <xs:element name="friend-of" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="since" type="xs:date"/> <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> <xs:element name="qualification" type="xs:string"/> </xs:sequence> </xs:sequence> </xs:complexType> </xs:complexType> </xs:element> </xs:element> </xs:sequence> </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> <xs:attribute name="isbn" type="xs:string"/> </xs:complexType> </xs:complexType> </xs:element> </xs:element> </xs:schema> </xs:schema>  <title> </title>    <speaker> </speaker>  <time> </time>  <location>  </location>  <abstract>   </abstract>  <biosketch>  </biosketch>  <host> </host> 

Slide 13: There’s no way to relate schema <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="book"> <xs:element name="book"> <xs:complexType> <xs:complexType> <xs:sequence> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="title" type="xs:string"/> XML Schema file 1 <xs:element name="author" type="xs:string"/> <xs:element name="character" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:element name="author" type="xs:string"/> XML Schema file 42 <xs:element name="character" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string" minOccurs="0" <xs:element name="friend-of" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> maxOccurs="unbounded"/> <xs:element name="since" type="xs:date"/> <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> <xs:element name="qualification" type="xs:string"/> </xs:sequence> </xs:sequence> </xs:complexType> </xs:complexType> </xs:element> </xs:element> </xs:sequence> </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> <xs:attribute name="isbn" type="xs:string"/> </xs:complexType> </xs:complexType> </xs:element> </xs:element> </xs:schema> </xs:schema>   <title> </title>   <speaker> </speaker>   <time> </time>  <location>  </location>  <abstract>  </abstract>  <biosketch>  </biosketch>  Either manually or automatically.  <host> </host> XML Schema is weak on semantics.

Slide 14: An Ontology level is needed <?xml version="1.0" encoding="utf-8"?> XML <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="book"> <xs:complexType> Ontologies add Ontology <xs:sequence> • Structure <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="character" minOccurs="0" maxOccurs="unbounded"> 256 <xs:complexType> • Constraints <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> • mappings <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> imports </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> </xs:schema> </xs:complexType> </xs:element> imports XML Ontology 1 XML Ontology 42 <?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="book"> <xs:element name="book"> <xs:complexType> <xs:complexType> = <xs:sequence> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="author" type="xs:string"/> <xs:element name="character" minOccurs="0" maxOccurs="unbounded"> <xs:element name="character" minOccurs="0" maxOccurs="unbounded"> <xs:complexType> <xs:complexType> <xs:sequence> <xs:sequence> <xs:element name="name" type="xs:string"/> <xs:element name="name" type="xs:string"/> <xs:element name="friend-of" type="xs:string" minOccurs="0" <xs:element name="friend-of" type="xs:string" minOccurs="0" <> maxOccurs="unbounded"/> maxOccurs="unbounded"/> <xs:element name="since" type="xs:date"/> <xs:element name="since" type="xs:date"/> <xs:element name="qualification" type="xs:string"/> <xs:element name="qualification" type="xs:string"/> </xs:sequence> </xs:sequence> </xs:complexType> </xs:complexType> </xs:element> </xs:element> </xs:sequence> </xs:sequence> <xs:attribute name="isbn" type="xs:string"/> <xs:attribute name="isbn" type="xs:string"/> </xs:complexType> </xs:complexType> </xs:element> </xs:element> </xs:schema> </xs:schema> We need a way to define ontologies in XML So we can relate them So machines can understand (to some degree) their meaning

Slide 15: What did we learn from the example?  In order for machines (intelligent Web applications) to understand the current Web, we need to provide an explicit representation of the content that is suitable for knowledge sharing and knowledge integration.  Ontology is something goes beyond XML and XML Schema

Slide 16: The Semantic Web, a Brief History

Slide 17: Origins Tim Berners-Lee’s original 1989 WWW proposal described a web of relationships among named objects unifying many info. management tasks. Capsule history  Guha’s MCF (~94)  XML+MCF  RDF (~96)  RDF+OO  RDFS (~99)  RDFS+KR  DAML+OIL (00)  W3C’s SW activity (01)  W3C’s OWL (03 -- present) http://www.w3.org/History/1989/proposal.html

Slide 18: W3C’s Semantic Web Goals Focus on machine consumption: "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." -- Berners-Lee, Hendler and Lassila, The Semantic Web, Scientific American, 2001

Slide 19: The Semantic Web Layer Cake Do you think this view is still valid in today’s Web?

Slide 20: Some history up till 2003

Slide 21: Latest in the Semantic Web  A recent article on the development of the Semantic Web since 2001. The Semantic Web in Action; December 2007; Scientific American Magazine; by Lee Feigenbaum, Ivan Herman, Tonya Hongsermeier, Eric Neumann and Susie Stephens; 8 Page(s) Online: http://www.docstoc.com/docs/document-preview.aspx?doc_id=271645

Slide 22: Potentials in the Semantic Web Vision  Why some people are excited about the Semantic Web vision? IMHO…  A framework for sharing knowledge on the Web  Opens application data to the public Web  Allow hidden relationships to be described and inferred (think FOAF and XFN)  Data described using rich markup languages allows light-weight implementations of mashups  Focus on how to use the data, and not how data is stored.

Slide 23: Ontology

Slide 24: Ontology in Organized Societies  A dictionary is an ontology of sorts.  But, ordinary people seldom need or use a dictionary in everyday life.  Human organizations, like the EPA, do need to develop standards for terms and phrases  These typically give a specialized meaning that is unambiguous, different from and/or narrower than the ordinary interpretation.  These are usually given as a glossary or thesaurus of specialized terms

Slide 25: Why is this Funny? In “The analytical language of John Wilkins”*, Jorge Borges writes about a “certain Chinese encyclopaedia” that has the following categorization of animals: (a) belonging to the emperor, (i) frenzied, (b) embalmed, (j) innumerable, (c) tame, (k) drawn with a very fine (d) sucking pigs, camelhair brush, (e) sirens, (l) et cetera, (f) fabulous, (m) having just broken the (g) stray dogs, water pitcher, (h) included in the present (n) that from a long way off classification, look like flies. * http://agents.umbc.edu/misc/johnWilkins.html

Slide 26: Ontology in Philosophy  Branch of metaphysics dealing with the nature of being  “Ontology” is from the Greek ontos for being and logos for word  An ontology is a theory of what exists  It lets us experience, operate in, and talk about the world  As Plato put it, we need to “carve nature at its joints”  Successful communication Aristotle described an ontology of basic requires a shared ontology categories of predicates to des-cribe the world (Sowa, after Brentano)

Slide 27: EPA’s “Terms of Environment”

Slide 28: Ontology in Information Systems  An explicit formal specification of how to represent the objects, concepts and other domain entities and relationships among them.  Common examples: UML diagrams, Data dictionaries, DB schema, Conceptual Schemas, API descriptions, Knowledge Bases, etc.  Ontologies provide an abstract conceptualization of information to be represented and a vocabulary of terms to use in the representation.  Interoperability between two systems requires them to share a common ontology.

Slide 29: UML diagrams as Ontologies

Slide 30: DB schemas as Ontologies

Slide 31: Our Focus  We’re technologists, rather than philosophers or bureaucrats, so our focus is on IT and ontologies.  Making machine understandable ontologies  Exploring how they can be used  Exploring what “machine understandable” means  Supporting other uses of ontologies with IT

Slide 32: Importance of Ontologies  An example of the importance of ontologies is the fate of NASA’s Mars Climate Orbiter  It crashed into Mars on 9/23/1999  JPL used metric units in the program controlling thrusters & Lockheed-Martin used imperial units.  Instead of establishing an orbit at an altitude of 140km, it did so at 60km, causing it to burn up in the Martian atmosphere.  A richer representation would have avoided this.

Slide 33: Teach Ontology to Machines

Slide 34: Let’s start with XML “XML is Lisp's bastard nephew, with uglier syntax and no semantics. Yet XML is poised to enable the creation of a Web of data that dwarfs anything since the Library at Alexandria.” -- Philip Wadler, Et tu XML? The fall of the relational empire, VLDB, Rome, September 2001.

Slide 35: Semantic Web Languages  RDF (Resource Description Framework)  OWL (Web Ontology Language)

Slide 36: URIs are a foundation  URI (Uniform Resource Identifier)  "The generic set of all names/addresses that are short strings that refer to resources"  URLs (Uniform Resource Locators) are a subset of URIs, used for resources that can be accessed on the web  URIs look like “normal” URLs, often with fragment identifiers to point to a document part:  http://foo.com/bar/mumble.html#pitch  URIs are unambiguous, unlike natural language terms  the web provides a global namespace  We assume references to the same URI are to the same thing

Slide 37: The RDF Data Model  An RDF document is an unordered collection of statements, each with a subject, predicate and object (aka triples)  A triple can be thought of as a labelled arc in a graph  Statements describe properties of web resources  A resource is any object that can be pointed to by a URI:  a document, a picture, a paragraph on the Web, …  E.g., http://harry.hchen1.com/foaf.rdf  …  Properties themselves are also resources (URIs)

Slide 38: The RDF Graphs

Slide 39: RDF is the first SW language Graph XML Encoding <rdf:RDF ……..> <….> RDF <….> Data Model </rdf:RDF> Good For Good for Human Machine Viewing Processing Triples stmt(docInst, rdf_type, Document) stmt(personInst, rdf_type, Person) stmt(inroomInst, rdf_type, InRoom) stmt(personInst, holding, docInst) RDF is a simple stmt(inroomInst, person, personInst) language for building Good For graph based representations Reasoning

Slide 40: RDF Schema (RDFS)  RDF Schema adds taxonomies for classes & properties  subClass and subProperty  and some metadata.  domain and range constraints on properties

Slide 41: RDFS Vocabulary  Terms for classes  Terms for collections  rdfs:Class  rdfs:member  rdfs:subClassOf  rdfs:Container  Terms for properties  rdfs:ContainerMembershipPrope  rdfs:domain  rdfs:range  rdfs:subPropertyOf  Special properties  Special classes  rdfs:comment  rdfs:Resource  rdfs:seeAlso  rdfs:Literal  rdfs:isDefinedBy  rdfs:Datatype  rdfs:label

Slide 42: RDF and RDF Schema <rdfs:Property rdf:ID=“name”> <rdfs:domain rdf:resource=“Person”> rdfs:Class rdfs:Property </rdfs:Property> rdf:type <rdfs:Class rdf:ID=“Chair”> rdf:type <rdfs:subclassOf rdf:resource= “http://schema.org/gen#Person”> rdf:type g:Person </rdfs:Class> rdfs:domain <rdf:RDF rdfs:subclassOf xmlns:g=“http://schema.org/gen” xmlns:u=“http://schema.org/univ”> u:Chair g:name <u:Chair rdf:ID=“john”> <g:name>John Smith</g:name> rdf:type </u:Chair> g:name </rdf:RDF> John Smith

Slide 43: RDFS supports simple inferences  An RDF ontology plus some RDF statements may imply additional RDF statements. This is not true of XML.  Note that this is part of the data model and not of the accessing or processing code. @prefix rdfs: <http://www.....>. parent a property. @prefix : <genesis.n3>. person a class. parent rdfs:domain person; woman subClass person. rdfs:range person. mother a property. mother rdfs:subProperty parent; eve a person; rdfs:domain woman; a woman; rdfs:range person. parent cain. eve mother cain. cain a person. New and Improved! 100% Better than XML!!

Slide 44: Web Ontology Language (OWL)  OWL released as W3C recommendation in 2004  http://www.w3.org/2001/sw/ OWL

Slide 45: OWL  RDF  An OWL ontology is a set of RDF statements  Adds capabilities common to description logics  More support for ontologies Ontology imports ontology, versioning, …  A complete OWL reasoning is significantly more complex than a complete RDFS reasoner.

Slide 46: OWL Class Constructors borrowed from Ian Horrocks

Slide 47: OWL Axioms borrowed from Ian Horrocks

Slide 48: Summary  The Semantic Web vision is about making easier for machines to consume the “meanings” of the Web content.  Syntax and Semantic are two different thing!  Ontology and Artificial Intelligence underpins the existing Semantic Web research  RDF and OWL are latest SW languages for describing knowledge on the Web

Slide 49: What we haven’t touched …  Building the Semantic Web: Where will the data come from? Who publishes the Semantic Web data?  How do we reason about the Web?  How do we query the Semantic Web?  How does the Semantic Web relate to the Social Web, mashups, tagging and Web development principles?

Slide 50: Homework  Post one or more blogs that relate the Semantic Web to the Social Web  Topics include, but not limited to  Social Networks  Folksonomy and tagging  Mashups  Geospatial Web  Web Search  Data integration  Reasoning over the Semantic Web data