SlideShare a Scribd company logo
1 of 50
An Introduction to  the Semantic Web Dr. Harry Chen CMSC 491S/691S
Agenda ,[object Object],[object Object],[object Object],[object Object]
Revisiting Our Previous Discussion Slides from our class on  Feb 6, 2008
Who is reading your profile? ,[object Object],Got it! Contact, school, favorites… HTML detected. But, what’s in the page? In order to help computer programs to better understand our profiles and social relationships, we need to express information in an explicit representation.
A More Dramatic Example Adopted from Frank van Harmelen and Jim Hendler
A typical HTML web page
What it looks like to a machine
Okay, so HTML is not helpful Maybe we can tell the machine what the different parts of the text represent? title time speaker location abstract biosketch host
XML to rescue? XML fans propose creating a XML tag set to use for each application. For talks, we can choose <title>, <speaker>, etc. <title> <time> <speaker> <location> <abstract> <biosketch> <host> </host> </biosketch> </abstract> </location> </time> </speaker> </title>
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.              
XML Schema helps ,[object Object],<?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> XML Schema file                            
But there are many schemas <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> XML Schema file 42 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> XML Schema file 1                <title> <time> <speaker> <location> <abstract> <biosketch> <host> </host> </biosketch> </abstract> </location> </time> </speaker> </title>
There’s no way to relate schema <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> Either manually or automatically. XML Schema is weak on semantics. XML Schema file 42 XML Schema file 1                <title> <time> <speaker> <location> <abstract> <biosketch> <host> </host> </biosketch> </abstract> </location> </time> </speaker> </title>
An Ontology level is needed We need a way to define ontologies in XML So we can relate them So machines can understand (to some degree) their meaning <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> XML Ontology 256  imports imports = <> ,[object Object],[object Object],[object Object],[object Object],<?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> XML Ontology 1  <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> XML Ontology 42
What did we learn from the example? ,[object Object],[object Object]
The Semantic Web, a Brief History
Origins ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],http://www.w3.org/History/1989/proposal.html
W3C’s Semantic Web Goals ,[object Object],[object Object],[object Object]
The Semantic Web Layer Cake Do you think this view is still valid in today’s Web?
Some history up till 2003
Latest in the Semantic Web ,[object Object],Online: http://www.docstoc.com/docs/document-preview.aspx?doc_id=271645 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)
Potentials in the Semantic Web Vision ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Ontology
Ontology in Organized Societies ,[object Object],[object Object],[object Object],[object Object],[object Object]
Why is this Funny? ,[object Object],(i) frenzied,  (j) innumerable,  (k) drawn with a very fine camelhair brush,  (l) et cetera,  (m) having just broken the water pitcher,  (n) that from a long way off look like flies. (a) belonging to the emperor,  (b) embalmed,  (c) tame,  (d) sucking pigs,  (e) sirens,  (f) fabulous,  (g) stray dogs,  (h) included in the present classification,  * http://agents.umbc.edu/misc/johnWilkins.html
Ontology in Philosophy ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Aristotle described an ontology of basic categories of predicates to des-cribe the world (Sowa, after Brentano)
EPA’s “Terms of Environment”
Ontology in Information Systems ,[object Object],[object Object],[object Object],[object Object]
UML diagrams as Ontologies
DB schemas as Ontologies
Our Focus ,[object Object],[object Object],[object Object],[object Object],[object Object]
Importance of Ontologies ,[object Object],[object Object],[object Object],[object Object],[object Object]
Teach Ontology to Machines
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.
Semantic Web Languages ,[object Object],[object Object]
URIs are a foundation ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The RDF Data Model ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The RDF Graphs
RDF is the first SW language <rdf:RDF ……..> <….> <….> </rdf:RDF> XML Encoding Graph stmt(docInst, rdf_type, Document) stmt(personInst, rdf_type, Person) stmt(inroomInst, rdf_type, InRoom) stmt(personInst, holding, docInst) stmt(inroomInst, person, personInst) Triples RDF Data Model Good for  Machine Processing Good For  Human Viewing Good For  Reasoning RDF is a simple language for building graph based representations
RDF Schema (RDFS) ,[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],RDFS Vocabulary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RDF and RDF Schema <rdf:RDF   xmlns:g=“http://schema.org/gen”   xmlns:u=“http://schema.org/univ”> <u:Chair rdf:ID=“john”> <g:name>John Smith</g:name>   </u:Chair> </rdf:RDF> <rdfs:Property rdf:ID=“name”> <rdfs:domain rdf:resource=“Person”> </rdfs:Property> <rdfs:Class rdf:ID=“Chair”> <rdfs:subclassOf  rdf:resource= “ http://schema.org/gen#Person”> </rdfs:Class> u:Chair John Smith rdf:type g:name g:Person g:name rdfs:Class rdfs:Property rdf:type rdf:type rdf:type rdfs:subclassOf rdfs:domain
RDFS supports simple inferences ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],parent a property. person a class. woman subClass person. mother a property. eve a person; a woman; parent cain. cain a person. New and  Improved! 100% Better than XML!!
[object Object],[object Object],Web Ontology Language (OWL) OWL
OWL    RDF ,[object Object],[object Object],[object Object],[object Object],[object Object]
OWL Class Constructors borrowed from Ian Horrocks
OWL Axioms borrowed from Ian Horrocks
Summary ,[object Object],[object Object],[object Object],[object Object]
What we haven’t touched … ,[object Object],[object Object],[object Object],[object Object]
Homework ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

More Related Content

More from hchen1

Semantic HTML
Semantic HTMLSemantic HTML
Semantic HTMLhchen1
 
Geonames
GeonamesGeonames
Geonameshchen1
 
Google Maps API
Google Maps APIGoogle Maps API
Google Maps APIhchen1
 
Geospatial Web
Geospatial WebGeospatial Web
Geospatial Webhchen1
 
OpenSearch
OpenSearchOpenSearch
OpenSearchhchen1
 
RSS and Atom in the Social Web
RSS and Atom in the Social WebRSS and Atom in the Social Web
RSS and Atom in the Social Webhchen1
 
An Introduction to Ajax Programming
An Introduction to Ajax ProgrammingAn Introduction to Ajax Programming
An Introduction to Ajax Programminghchen1
 
Machine Tags
Machine TagsMachine Tags
Machine Tagshchen1
 
Web 2.0 Mashups
Web 2.0 MashupsWeb 2.0 Mashups
Web 2.0 Mashupshchen1
 
Gnizr Architecture (for developers)
Gnizr Architecture (for developers)Gnizr Architecture (for developers)
Gnizr Architecture (for developers)hchen1
 
Folksonomy and Tagging in the Social Web
Folksonomy and Tagging in the Social WebFolksonomy and Tagging in the Social Web
Folksonomy and Tagging in the Social Webhchen1
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applicationshchen1
 
Inside Gnizr
Inside GnizrInside Gnizr
Inside Gnizrhchen1
 
Social Web Technologies
Social Web TechnologiesSocial Web Technologies
Social Web Technologieshchen1
 

More from hchen1 (14)

Semantic HTML
Semantic HTMLSemantic HTML
Semantic HTML
 
Geonames
GeonamesGeonames
Geonames
 
Google Maps API
Google Maps APIGoogle Maps API
Google Maps API
 
Geospatial Web
Geospatial WebGeospatial Web
Geospatial Web
 
OpenSearch
OpenSearchOpenSearch
OpenSearch
 
RSS and Atom in the Social Web
RSS and Atom in the Social WebRSS and Atom in the Social Web
RSS and Atom in the Social Web
 
An Introduction to Ajax Programming
An Introduction to Ajax ProgrammingAn Introduction to Ajax Programming
An Introduction to Ajax Programming
 
Machine Tags
Machine TagsMachine Tags
Machine Tags
 
Web 2.0 Mashups
Web 2.0 MashupsWeb 2.0 Mashups
Web 2.0 Mashups
 
Gnizr Architecture (for developers)
Gnizr Architecture (for developers)Gnizr Architecture (for developers)
Gnizr Architecture (for developers)
 
Folksonomy and Tagging in the Social Web
Folksonomy and Tagging in the Social WebFolksonomy and Tagging in the Social Web
Folksonomy and Tagging in the Social Web
 
Developing Java Web Applications
Developing Java Web ApplicationsDeveloping Java Web Applications
Developing Java Web Applications
 
Inside Gnizr
Inside GnizrInside Gnizr
Inside Gnizr
 
Social Web Technologies
Social Web TechnologiesSocial Web Technologies
Social Web Technologies
 

Recently uploaded

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Recently uploaded (20)

Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

An Introduction to the Semantic Web

  • 1. An Introduction to the Semantic Web Dr. Harry Chen CMSC 491S/691S
  • 2.
  • 3. Revisiting Our Previous Discussion Slides from our class on Feb 6, 2008
  • 4.
  • 5. A More Dramatic Example Adopted from Frank van Harmelen and Jim Hendler
  • 6. A typical HTML web page
  • 7. What it looks like to a machine
  • 8. Okay, so HTML is not helpful Maybe we can tell the machine what the different parts of the text represent? title time speaker location abstract biosketch host
  • 9. XML to rescue? XML fans propose creating a XML tag set to use for each application. For talks, we can choose <title>, <speaker>, etc. <title> <time> <speaker> <location> <abstract> <biosketch> <host> </host> </biosketch> </abstract> </location> </time> </speaker> </title>
  • 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.              
  • 11.
  • 12. But there are many schemas <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> XML Schema file 42 <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> XML Schema file 1               <title> <time> <speaker> <location> <abstract> <biosketch> <host> </host> </biosketch> </abstract> </location> </time> </speaker> </title>
  • 13. There’s no way to relate schema <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> <?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?> <xs:schema xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;> <xs:element name=&quot;book&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;title&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;author&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;character&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;> <xs:complexType> <xs:sequence> <xs:element name=&quot;name&quot; type=&quot;xs:string&quot;/> <xs:element name=&quot;friend-of&quot; type=&quot;xs:string&quot; minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;/> <xs:element name=&quot;since&quot; type=&quot;xs:date&quot;/> <xs:element name=&quot;qualification&quot; type=&quot;xs:string&quot;/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name=&quot;isbn&quot; type=&quot;xs:string&quot;/> </xs:complexType> </xs:element> </xs:schema> Either manually or automatically. XML Schema is weak on semantics. XML Schema file 42 XML Schema file 1               <title> <time> <speaker> <location> <abstract> <biosketch> <host> </host> </biosketch> </abstract> </location> </time> </speaker> </title>
  • 14.
  • 15.
  • 16. The Semantic Web, a Brief History
  • 17.
  • 18.
  • 19. The Semantic Web Layer Cake Do you think this view is still valid in today’s Web?
  • 20. Some history up till 2003
  • 21.
  • 22.
  • 24.
  • 25.
  • 26.
  • 27. EPA’s “Terms of Environment”
  • 28.
  • 29. UML diagrams as Ontologies
  • 30. DB schemas as Ontologies
  • 31.
  • 32.
  • 33. Teach Ontology to Machines
  • 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.
  • 35.
  • 36.
  • 37.
  • 39. RDF is the first SW language <rdf:RDF ……..> <….> <….> </rdf:RDF> XML Encoding Graph stmt(docInst, rdf_type, Document) stmt(personInst, rdf_type, Person) stmt(inroomInst, rdf_type, InRoom) stmt(personInst, holding, docInst) stmt(inroomInst, person, personInst) Triples RDF Data Model Good for Machine Processing Good For Human Viewing Good For Reasoning RDF is a simple language for building graph based representations
  • 40.
  • 41.
  • 42. RDF and RDF Schema <rdf:RDF xmlns:g=“http://schema.org/gen” xmlns:u=“http://schema.org/univ”> <u:Chair rdf:ID=“john”> <g:name>John Smith</g:name> </u:Chair> </rdf:RDF> <rdfs:Property rdf:ID=“name”> <rdfs:domain rdf:resource=“Person”> </rdfs:Property> <rdfs:Class rdf:ID=“Chair”> <rdfs:subclassOf rdf:resource= “ http://schema.org/gen#Person”> </rdfs:Class> u:Chair John Smith rdf:type g:name g:Person g:name rdfs:Class rdfs:Property rdf:type rdf:type rdf:type rdfs:subclassOf rdfs:domain
  • 43.
  • 44.
  • 45.
  • 46. OWL Class Constructors borrowed from Ian Horrocks
  • 47. OWL Axioms borrowed from Ian Horrocks
  • 48.
  • 49.
  • 50.