Semantic Web 101
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Semantic Web 101

on

  • 8,426 views

An extremely brief introduction to some Semantic Web technologies: URIs, XML, RDF, RDFS and OWL, SPARQL, and an introduction to Linked Open Data (LOD), principles and real-world applications.

An extremely brief introduction to some Semantic Web technologies: URIs, XML, RDF, RDFS and OWL, SPARQL, and an introduction to Linked Open Data (LOD), principles and real-world applications.

This presentation was given as a primer to talks about the Semantic Web at a Canberra Semantic Web Meetup Group meeting entitled "Semantic Web In Use" at the Australian War Memorial, BAE Systems Theatre on Monday 24th April, 2012.

http://www.meetup.com/Canberra-Semantic-Web-Meetup-Group/events/59032632/

Statistics

Views

Total Views
8,426
Views on SlideShare
7,932
Embed Views
494

Actions

Likes
7
Downloads
95
Comments
0

5 Embeds 494

http://www.scoop.it 484
https://si0.twimg.com 5
http://safe.tumblr.com 2
http://www.slashdocs.com 2
http://paper.li 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Semantic Web 101 Presentation Transcript

  • 1. Semantic Web 101Canberra Semantic Web meetupDavid Ratcliffe & Armin HallerCSIRO ICT Centre, Canberra23rd April 2012INFORMATION ENGINEERING LABORATORY
  • 2. What is the Semantic Web?“The Semantic Web is a web of data, in some ways like a globaldatabase”1“The first step is putting data on the Web in a form that machinescan naturally understand, or converting it to that form. This createswhat I call a Semantic Web - a Web of data that can be processeddirectly or indirectly by machines”21. http://www.w3.org/DesignIssues/Semantic.html2. Tim Berners-Lee, Weaving the Web. Harper, San Francisco, 1999.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 3. FundamentalzZzZz…Linked Open Data RDFa, -Formats Vocabularies GRDDL Triplestores Apps!RDFS, OWLRDF, SPARQLURIs, XMLCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 4. Fundamentals: Semantic Web “Layer Cake”Linked Open Data RDFa, -Formats Vocabularies RDDL Triplestores Apps!URIs, RDF, RDFS,SPARQL, OWLCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 5. FundamentalsLinked Open Data RDFa, -Formats Vocabularies GRDDL Triplestores Web Applications!URIs, RDF, RDFS,SPARQL, OWLCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 6. Uniform Resource Identifiers (URIs)String of characters identifying a resource (which can be… anything!)Syntax (absolute): <scheme> : <path> [? <query>] [# <fragment>]Examples: ICT Centre website: http://www.ict.csiro.au/ The actual ICT Centre itself: http://www.ict.csiro.au/resource#idURIs are more general than URLs (and less so than IRIs!) URIs include URNs (e.g., urn:oid:2.16.840)Used extensively in the Linked Open Data web! Many recommendations about URIs to come…CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 7. Resource Description Framework (RDF)Data model - captures knowledge about resources (as URIs!)CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 8. Resource Description Framework (RDF)Data model - captures knowledge about resources (as URIs!)Relates resources with predicates (named relationships)Australian War Memorial located_in CanberraThe ‘triple’ data modelSubject, predicate, objectCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 9. Resource Description Framework (RDF)Data model - captures knowledge about resourcesRelates resources with predicates (named relationships)Australian War Memorial located_in CanberraThe ‘triple’ data modelSubject, predicate, objectCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 10. Resource Description Framework (RDF)Data model - captures knowledge about resourcesRelates resources with predicates (named relationships)Australian War Memorial located_in CanberraThe ‘triple’ data modelSubject, predicate, objectCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 11. Resource Description Framework (RDF)Data model - captures knowledge about resourcesRelates resources with predicates (named relationships)Australian War Memorial located_in CanberraThe ‘triple’ data modelSubject, predicate, objectCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 12. Resource Description Framework (RDF)Data model - captures knowledge about resourcesRelates resources with predicates (named relationships)Australian War Memorial located_in CanberraThe ‘triple’ data modelSubject, predicate, objectAll knowledge can be encoded using triples like this in RDFCanberra is located_in ACT (…‘subjects’ can be ‘objects’ – links resources!)CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 13. Resource Description Framework (RDF)XML SerializationAustralian War Memorial located_in Canberra <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:obo="http://purl.obolibrary.org/obo/OBO_REL#" xmlns:dbpprop="http://dbpedia.org/property/"> <rdf:Description rdf:about="http://dbpedia.org/resource/Australian_War_Memorial"> <obo:_located_in> <rdf:Description rdf:about="http://dbpedia.org/resource/Canberra"/> </obo:_located_in> <rdf:Description> </rdf:RDF>CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 14. Resource Description Framework (RDF)XML SerializationAustralian War Memorial located_in Canberra “” unveiled 1941 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:obo="http://purl.obolibrary.org/obo/OBO_REL#" xmlns:dbpprop="http://dbpedia.org/property/"> <rdf:Description rdf:about="http://dbpedia.org/resource/Australian_War_Memorial"> <obo:_located_in> <rdf:Description rdf:about="http://dbpedia.org/resource/Canberra"/> </obo:_located_in> <dbpprop:unveiled rdf:datatype="http://www.w3.org/2001/XMLSchema#int"> 1941 </dbpprop:unveiled> <rdf:Description> </rdf:RDF>CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 15. Resource Description Framework (RDF)XML SerializationAustralian War Memorial located_in Canberra “” unveiled 1941 (integer data type) <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:obo="http://purl.obolibrary.org/obo/OBO_REL#" xmlns:dbpprop="http://dbpedia.org/property/"> <rdf:Description rdf:about="http://dbpedia.org/resource/Australian_War_Memorial"> <obo:_located_in> <rdf:Description rdf:about="http://dbpedia.org/resource/Canberra"/> </obo:_located_in> <dbpprop:unveiled rdf:datatype="http://www.w3.org/2001/XMLSchema#int"> 1941 </dbpprop:unveiled> <rdf:Description> </rdf:RDF>CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 16. RDF GraphCollection of triples referencing common resource(s) = a graph Canberra ACT _located_in Australian_War d_in _Memorial _lo cate unv eile d {1941}Australian War Memorial located_in CanberraCanberra located_in ACTAustralian War Memorial unveiled 1941CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 17. RDF ‘Triplestore’ – Database for triplesBasically a database for triples, stored as graphs Canberra ACT _located_in Australian_War _Memorial ate d_in _loc unv eile d {1941}Triplestores not only store triples, but give you ways of getting themout in interesting ways… (e.g., via queries – SPARQL)CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 18. Relational Database RDF Triplestore Data model Data model Relational data (tables) RDF graphs Data instances Data instances Records in tables RDF triples Query support Query support SQL SPARQL Indexing mechanism Indexing mechanism Optimized for evaluating queries as Optimized for evaluating relational expressions queries as graph patternsCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 19. SPARQL Protocol and RDF Query Language (SPARQL)Language for querying (and constructing new) RDF graphs A W3C Recommendation (version 1.1 released in January 2012) Syntax similar to SQL…CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 20. SPARQL – Anatomy (simple SELECT) PREFIX dbpedia:<http://dbpedia.org/resource/> PREFIX obo:<http://purl.obolibrary.org/obo/OBO_REL#> SELECT ?l WHERE { dbpedia:Australian_War_Memorial obo:_located_in ?l . } PREFIX Define prefix for URI to make SPARQL more readable SELECT Variables (columns) in the result (here, ?l) WHERE The graph pattern to look for involving the selected variables …“Where [?l] is the Australian_War_Memorial _located_in?”CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 21. SPARQL: Querying an RDF graph Canberra ACT _located_in Australian_War d_in _Memorial _lo cate unv eile d {1941} e.g. “Where is the Australian_War_Memorial _located_in?” PREFIX dbpedia:<http://dbpedia.org/resource/> PREFIX obo:<http://purl.obolibrary.org/obo/OBO_REL#> SELECT ?l WHERE { dbpedia:Australian_War_Memorial obo:_located_in ?l . }CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 22. SPARQL: Querying an RDF graph Canberra ACT _located_in Australian_War d_in _Memorial _lo cate unv eile d {1941} e.g. “Where is the Australian_War_Memorial _located_in?” PREFIX dbpedia:<http://dbpedia.org/resource/> PREFIX obo:<http://purl.obolibrary.org/obo/OBO_REL#> SELECT ?l WHERE { dbpedia:Australian_War_Memorial obo:_located_in ?l . }CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 23. SPARQL: Querying an RDF graph Canberra ACT _located_in Australian_War d_in _Memorial _lo cate unv eile d {1941} e.g. “Where is the Australian_War_Memorial _located_in?” Result: ?l http://dbpedia.org/resource/CanberraCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 24. RDF Schema (RDFS)Describes structures of triples into particular graphs Assigns semantics to RDF triples (…just as E-R does for relational data!) Used in describing vocabularies and ontologies over RDFCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 25. RDFS: Structure + Semantics over RDFClass (set) of instances (set members): E.g., class ‘City’ – the set of all cities City CanberraCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 26. RDFS: Structure + Semantics over RDFSubclass (subset) of a class (set) of instances (set members): Class ‘CapitalCity’ (subclass of ‘City’) – defined as the set of all cities that are the capital of a federated state City CapitalCity CanberraCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 27. RDFS: Structure + Semantics over RDF Subclass (subset) of a class (set) of instances (set members): Class ‘StateCapital’ (subclass of ‘City’) – defined as the set of all cities that are capitals of a state within a federated state City CapitalCity StateCapital CanberraCities that are CapitalCity and StateCapital CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 28. RDFS: Structure + Semantics over RDF Properties (set set) of instances (set members) over classes: _located_in City Federated StateCapitalCity StateCapital _located_inCanberra ACTCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 29. Web Ontology Language (OWL)More (+ expressive) structure and semantics… _located_in City Federated StateCapitalCity StateCapital _located_in FederalStateCapital = CapitalCity StateCapitalCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 30. That’s enough…CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 31. What is this all useful for?... for putting Data openly on the Web …and linking it to other data …a.k.a. Linked Open Data Building a web of data Semantic Web done right Combination of Openess with data + open standards uses RDF with de-referenceable URIs → not only to identify data but actually pointing to data about the entityCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 32. Linked Open DataCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 33. MotivationLinking data paves the way for all kinds of improvements in: search, filtering, automation…Real Business Value “I found that RDFa was a much more stable concept – based on the use of long established vocabularies (also known as ontologies) that have existed for years. … Within just a couple of months, we began to see an increase in our organic search results … by 30% over historical rates. We also saw an increase in our click-through rate.” [Jay Myers, Lead Development Engineer Best Buy] “2012: The Year of the Semantic Web” [Steve Hamby, CTO, Orbis Technologies, Inc.]Enormous amount of linked (RDF) data already available • Many vocabularies to get your data described and linked into this world • Estimated tens (to hundreds) of billions of triple statements • Now (relatively) easier for people to join in!CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 34. LOD ‘Cloud’ Growth: September 2010 [Richard Cyganiak, Anja Jentzsch, Linking Open Data cloud diagram, 2010]CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 35. LOD ‘Cloud’ Growth: September 2011 [Richard Cyganiak, Anja Jentzsch, Linking Open Data cloud diagram, 2011]CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 36. The Four Linked Open Data PrinciplesTim Berners-Lee outlined 4 principles for Publishing Linked Open Data: 1. Use URIs for names of things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a HTTP URI, provide useful information (using the standards, like RDF) 4. Include links to other URIs so that a user can discover more things. Source: http://www.w3.org/DesignIssues/LinkedData.htmlCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 37. The Four Linked Open Data PrinciplesTim Berners-Lee outlined 4 principles for Publishing Linked Open Data: 1. Use URIs for names of things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a HTTP URI, provide useful information (using the standards, like RDF) 4. Include links to other URIs so that a user can discover more things.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 38. Use URIs for names of things – Example: Large US retailer Loads of different products for sale! Data include: Product categories (computers, video games, televisions, digital cameras, mp3 players, mobile phones, appliances, etc…)CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 39. Identify things to reference with a URI Product data: Price Model # ID Stock levels Rating Reviews Images etc…CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 40. Identify things to reference with a URI Store data: Names Locations Phone # Hours Ratings/Reviews Events etc… Source: http://www.readwriteweb.com/archives/how_best_buy_is_using_the_semantic_web.phpCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 41. Choose URIs for things in your data Which URI to use for the location Carbondale, Illinois, USA?CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 42. Choose URIs for things in your data http://www.ci.carbondale.il.us/ Which URI to use for the location Carbondale, Illinois, USA?CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 43. Choose URIs for things in your data http://en.wikipedia.org/wiki/Carbondale,_Illinois Which URI to use for the location Carbondale, Illinois, USA?CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 44. Choose URIs for things in your dataProblem: http://www.ci.carbondale.il.us/ http://en.wikipedia.org/wiki/Carbondale,_IllinoisThese are webpages about Carbondale, IL!Instead, we want some identifier for the town Carbondale, IL.DBpedia has an RDF Resource URI based on info from Wikipedia: http://dbpedia.org/resource/Carbondale,_IllinoisCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 45. The Four Linked Open Data PrinciplesTim Berners-Lee outlined 4 principles for Publishing Linked Open Data: 1. Use URIs for names of things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a HTTP URI, provide useful information (using the standards, like RDF) 4. Include links to other URIs so that a user can discover more things.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 46. Use de-referenceable HTTP URIsDBpedia is a major Linked Open Data contributor!So, what happens when we put: http://dbpedia.org/resource/Carbondale,_Illinois… into a browser?The dbpedia.org server responds with an HTTP redirect: 303 SEE OTHER LOCATION: http://dbpedia.org/page/Carbondale,_IllinoisCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 47. Content negotiationThe browser (client) performs content negotiation with the server: ACCEPT parameters in the HTTP request specified HTML, e.g.: Accept: text/*, text/html, text/html;level=1, */*The client could have asked for RDF instead! Accept: application/rdf+xml… or other syntaxes too (N3, Turtle, etc.): Accept: application/rdf+xml, text/rdf+n3, …CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 48. Content negotiation http://dbpedia.org/page/Carbondale,_IllinoisCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 49. Content negotiationSo, what happens when we ask for: http://dbpedia.org/resource/Carbondale,_Illinois including: Accept: application/rdf+xml ...?The dbpedia.org server responds with another, different redirect: 303 SEE OTHER LOCATION: http://dbpedia.org/data/Carbondale,_IllinoisThe server may provide the triple data in RDF/XML format...CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 50. Content negotiation http://dbpedia.org/data/Carbondale,_IllinoisCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 51. Different URIs for different content!Three Different URIs for different data about the same thing: 1. An abstract identifier (RDF resource) for the ‘thing’ in question 2. An HTML page about that ‘thing’ 3. Some RDF data about that ‘thing’Example: Carbondale, IL on dbpedia.org: 1. Abstract identifier: http://dbpedia.org/resource/Carbondale,_Illinois 2. HTML page: http://dbpedia.org/page/Carbondale,_Illinois 3. RDF data: http://dbpedia.org/data/Carbondale,_IllinoisCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 52. Make sure your URIs are coolBroken links are very uncoolURIs that don’t change are cool. Should strive to maintain URIs! Even if content moves, server should still responds appropriately.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 53. The Four Linked Open Data PrinciplesTim Berners-Lee outlined 4 principles for Publishing Linked Open Data: 1. Use URIs for names of things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a HTTP URI, provide useful information (using the standards, like RDF) 4. Include links to other URIs so that a user can discover more things.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 54. Providing RDF on the WebRDF data usually resides in an RDF database (Triplestore) …how do we ‘put them out’ on the web?SPARQL Endpoint (SPARQL query over HTTP) • Direct connection to triplestore over HTTPPublish RDF data in files on your web server • Might not even need a triplestore… Problem: Web data (HTML) and RDF data are separate.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 55. Exposing RDF on the web Separate HTML content and RDF data? Web Page (HTML) RDF data (XML)CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 56. Exposing RDF on the webSeparate HTML content and RDF data?Maintenance problem • Both need to be managed separately • RDF content and web content have much overlap (redundancy)  duplication of content, effort = data integrity issues • RDF/XML difficult to author = extra overheadVerification problem • How to reconcile differences as content changes?Visibility problem • Easy to ignore the RDF stuff! (out of sight, out of mind)CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 57. Exposing RDF on the web Embed RDF into your web content using RDFa Web Page (HTML) RDF data (XML) ‘Embed’ RDF into HTML instead!CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 58. RDF – in attributes (RDFa) Embed RDF into your web content using RDFa Extra (RDFa) markup is ignored by web browsers.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 59. RDFa is not the only solution… …but is “one of the… what I call a gateway drug… to the Semantic Web.” Jay Myers, Lead Development Engineer for Best Buy Source: Peter Mika (Yahoo!), RDFa, 2011CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 60. The Four Linked Open Data PrinciplesTim Berners-Lee outlined 4 principles for Publishing Linked Open Data: 1. Use URIs for names of things 2. Use HTTP URIs so that people can look up those names 3. When someone looks up a HTTP URI, provide useful information (using the standards, like RDF) 4. Include links to other URIs so that a users can discover more things.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 61. Link to existing vocabularies to describe data!For describing classes (categories) and properties (relationships), try to re-use existing vocabularies Easier to interoperate if we’re talking the same language!Many vocabularies/ontologies out there: schema.org is a great place to start looking! Vocabs for products (Good Relations), people (FOAF), social media (SIOC), places, events, businesses, e-commerce, music, etc., you name it…If nothing relevant, you can: Hack existing vocabularies, then publish your dirty hacks on http://open.vocab.org/ Create your own, but make sure you… Publish it! Reconcile (map) it to other vocabularies, if you can.CSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 62. Link your data!Linking similar entities (individuals/ concepts) from different datasets(“entity resolution”)Several ways, different semantics: owl:equivalentClass – strong assertion! owl:sameAs – strong assertion! rdfs:seeAlso – weak (loose) relation skos:closeMatch – weak (loose) relation skos:exactMatch – stronger than close match skos:related – weak semantic relationhttp://dbpedia.org/resource/Canberra owl:sameAs http://rdf.freebase.com/rdf/en.canberraCSIRO. Semantic Web 101 – Canberra Semantic Web meetup
  • 63. Thank you!ICT Centre ICT CentreDavid Ratcliffe Dr. Armin HallerPhD Student / Software Engineer Office Manager, Australian W3C OfficePhone: +61 2 6216 7001 Phone: +61 2 6216 7149David.Ratcliffe@csiro.au Armin@w3.orgICT CENTRE, INFORMATION ENGINEERING LABORATORY