Your SlideShare is downloading. ×
Architecture Patterns for Semantic Web Applications
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Architecture Patterns for Semantic Web Applications

1,567
views

Published on


0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,567
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
36
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide
  • http://www.flickr.com/photos/mayhem/3104825022/in/photostream/
  • http://www.flickr.com/photos/herr_hartmann/448478567/in/photostream/http://www.flickr.com/photos/mayhem/3104825022/in/photostream/
  • http://www.flickr.com/photos/jingleslenobel/4971486823
  • Transcript

    • 1. NONOSQLArchitecture Patterns for Semantic Web Applications
      Brian Panulla
      Penn State Web 2011 Conference
    • 2. Twitter: @bpanulla
      (c)2010 Google, Imagery (c)2010 TerraMetrics, NASA, Map data (c)2010 Europa Technologies, Google, INEGI, AND
    • 3. Three things the Semantic Web is not(mostly)
    • 4. 1. Semantic HTML
    • 5. 2. Warmed-over AI
      http://www.movieprop.com/tvandmovie/terminator/t3endoskeletons1.jpg
    • 6. 3. Magic
      http://bostonist.com/attachments/Anna%20Edwards/109-gob-magic2.jpg
    • 7. Who cares?
    • 8. Semantic
      Web
      http://xkcd.com/773/
    • 9. On NoSQL...
    • 10.
    • 11. NoSQL: Key/Value and Graphs
    • 12. On Linked Data...
    • 13.
    • 14. When things go wrong
    • 15. Linked Data - 2008
      http://richard.cyganiak.de/2007/10/lod/
    • 16. Linked Data - 2008
      http://richard.cyganiak.de/2007/10/lod/ Last updated: 2010-09-22
    • 17. Technology Primer
    • 18. RDF: Framework for knowledge representation
      Declares resources
      Specifies properties of resources
      W3C standard since 1999
      http://www.w3.org/RDF/
    • 19. What is a Resource?
      Everything on the web (or not) is a resource.
      Uniform
      Resource
      Locator
    • 20. RDF is not XML
      ...but occasionally dresses up like it
      XML
      N-Triples
      N3
      Turtle
      JSON
      RDFa
      in HTML
      ...
    • 21. URIs
      Resources are identified by a Uniform Resource Identifier (URI)
      Can be found in your XHTML DTD and html tag’s xmlns attribute:
    • 22. URIs
      ... Are not necessarily URLs
      http://webconference.psu.edu
      http://brian.panul.la
      http://alumni.psu.edu/brian.panulla
    • 23. Triples
      RDF is expressed as triples of URIs:
      subject (“Penn State”) - resource
      predicate (”is a") - property
      object (”University”) - resource
      Is a
      Penn
      State
      University
    • 24. Triples
      Another example:
      subject (“Brian Panulla”)
      predicate (”presented at")
      object (”psuweb11”)
      presented At
      Brian
      Panulla
      psuweb11
    • 25. Triples to Graphs
      United
      States of
      America
      City of
      Portland
      State of
      Oregon
      North
      America
      State of
      Washington
      State of
      California
      Canada
      NATO
      Is a
      borders
      Is in
      Held At
      Is in
      Member of
      presented At
      Is in
      borders
      Member of
      attended
      Is in
      Is in
      Is a
      Is located in
      Is in
      PSUWEB11
      Penn
      State
      Brian
      Panulla
      Portland
      State
      University
    • 26. RDF Schemas
      RDFS provides limited Set Theory features
      subClassOf
      subPropertyOf
      Domain
      Range
      Think of classes in RDFS as sets rather than OOP classes
    • 27. Ontologies
      Ontology is the study of being or reality.
      A Formal Ontology is a specification of a conceptualization (Gruber, 1995)
      Aristotle
    • 28. Defining an ontology
      Web Ontology Language (OWL)
      Version 2.0
      (October 2009)
      http://www.w3.org/TR/owl2-overview/
      Yes, rly.
    • 29. Some RDFS/OWL Features
      Classes
      Sub-class
      Equivalent Classes
      Disjoint Classes
      Cardinality constraints (max/min)
      Individuals
      Same Individual
      Properties
      Sub-property
      Equivalent
      Inverse
      Symmetric
      Transitive
    • 30. Protégéhttp://protege.stanford.edu/
    • 31. Triple Stores
      Graph database that knows RDF
      Quad Stores: triple store that includes provenance
      “where did the data come from?”
      Various stores provide
      Transactional / non-Transactional
      In-Memory / File system / RDBMS storage
    • 32. Popular Triple Stores
      HP/Apache Jena
      Pellet Reasoner
      Storage
      In memory
      RDBMS (transactions)
      Filesystem storage (high performance)
      Open Source
    • 33. Popular Triple Stores
      Franz AllegroGraph (server)
      Virtuoso Universal Server (server)
      Mulgara (RESTful service, OSS)
      Redland (C, Obj-C)
      New
      Stardog - Integrated reasoning database
      RDFa API - https://github.com/webr3/rdf.js
    • 34. Semantic Web Architecture
    • 35. Del.icio.us
    • 36. OMNOMino.us
    • 37. Basic Requirements
      Information
      People
      Bookmarks
      Tags
      Functionality
      Create an account
      Add a bookmark
      Delete a bookmark
      Browse other users’ bookmarks
    • 38. Logical Schema
    • 39. Relational DB - Physical Schema
    • 40. Modeling in RDF
      Minimize artificial entities
      Re-use existing schemas or ontologies
    • 41. Useful Schemas
      Dublin CORE METADATA INITIATIVE (DCMI)
      FrienD-of-a-friend
      (FOAF)
    • 42. DMCI
    • 43. FOAF
      Well-defined ontology for people, organizations, and social networks
    • 44. FOAF
    • 45. RDF Data Model - Member
      foaf:Person
      foaf:fullname
      foaf:nickname
      foaf:mbox
      foaf:openid
      Literal (“datataype”)properties
      Resource (“object”)
      property
    • 46. RDF Data Model - Bookmark
      foaf:Document
      dct:title
      dct:description
      dct:created
      dct:modified
      foaf:page
      foaf:topic
      Literal (“datataype”)properties
      Resource (“object”)
      properties
    • 47. Topics from DBPedia
      SemantifiedWikipedia
    • 48. Custom properties and classes
      omnom:bookmarked
      http://omnomino.us/ontology/om.n3#bookmarked
      omnom:
      bookmarked
      foaf:
      Document
      foaf:
      Person
    • 49. Custom properties and classes
      rdfs:
      subClassOf
      rdfs:
      subClassOf
      foaf:
      Document
      foaf:
      Person
      omnom:
      Member
      omnom:
      Resource
    • 50. RDF Data Model
    • 51. SPARQL
      Graph query language
      Read-only (1.0)
      Safe to expose endpoint to Web
      SPARQL 1.1 adds updates
    • 52. A Simple SPARQL Example
      SELECT ?subj ?pred ?obj
      WHERE {
      ?subj ?pred ?obj.
      }
      Demo
    • 53. SPARQL Query Types
      SELECT – Returns tuples matching specified pattern
      ASK – yes or no (tests for existence)
      CONSTRUCT – Returns a graph
      DESCRIBE – Returns a graph determined by the query engine
    • 54. SPARQL Examples: ASK
      ASK {
      ?urifoaf:openid <http://brian.panul.la>.
      }
    • 55. SPARQL Examples: Member
      SELECT DISTINCT ?uri ?fullname ?nickname ?email
      WHERE {
      ?uri a omnom:Member.
      OPTIONAL {
      ?urifoaf:name ?fullname;
      foaf:nick ?nickname;
      foaf:mbox ?email.
      }
      FILTER (?uri = <http://omnomino.us/member/24601>)
    • 56. SPARQL Example: Bookmarks
    • 57. Updates via API
    • 58. The Good:
      Domains where schemas/models change rapidly or data is sparse
      Semantics of relational model inadequate (e.g. inferencing, inheritance)
      Domains emphasizing relationships
      Social networks
      Taxonomies
    • 59. The Bad:
      Weaknesses
      Bad for opaque objects with few relationshps
      Large sets of homogenous objects
      Alternatives
      RDBMS
      NoSQL
      Document DBs
      Key/Value Stores
      Graph databases
    • 60. Linked Data
      Publish/Syndicate complete information sets
      Embedded explicit semantics, unique identifiers
      Have minimal impact to other Web information publishing
      May be static or dynamically generated
    • 61. Resources
      Semantic Web Programming - John Hebeler, Matthew Fisher, Ryan Blace, and Andrew Perez-Lopez
      Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL -Dean Allemang and James Hendler
      Programming the Semantic Web by Toby Segaran, Colin Evans, and Jamie Taylor