• Like
  • Save
A First Course in RDF and RDFS (Resource Description Framework and Resource Description Framework Schema)
Upcoming SlideShare
Loading in...5
×
 

A First Course in RDF and RDFS (Resource Description Framework and Resource Description Framework Schema)

on

  • 13,304 views

This tutorial was given at SemTech 2008, on May 19th....

This tutorial was given at SemTech 2008, on May 19th.

From the program: "RDF is a key W3C specification and a foundational component of the Semantic Web. This tutorial will explain the basics of RDF and how it functions as a key building block of semantic systems.

Mark Birbeck is the managing director of webBackplane. He has been creating software for many years, and his particular interests are the semantic web, and components that help to create dynamic, flexible, user interfaces. He has consulted, given training, spoken at conferences and contributed to books and articles on these and other topics. He is also heavily involved in the creation of new standards on these themes. Mark is an Invited Expert on both the XForms Working Group and the XHTML 2 Working Group, at the W3C. Over the years his work there has included devising and proposing RDFa."

Statistics

Views

Total Views
13,304
Views on SlideShare
13,197
Embed Views
107

Actions

Likes
19
Downloads
418
Comments
1

13 Embeds 107

http://adagenor.blogspot.com 33
http://e-reality-database.blogspot.com 22
http://adagenor.blogspot.com.br 19
http://www.slideshare.net 13
http://e-reality-database.blogspot.com.br 8
http://pal.sandbox.dev.bbc.co.uk 3
http://e-reality-home.blogspot.com 2
http://www.linkedin.com 2
http://translate.googleusercontent.com 1
http://e-reality-knowledge.blogspot.com 1
http://e-reality-database.blogspot.pt 1
http://adagenor.blogspot.pt 1
http://e-reality-database.blogspot.fr 1
More...

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

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

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • It's a shame that SlideShare doesn't use the speaker notes for the transcript; instead it just puts the text from the slide in there. If anyone is interested in this topic you might want to download the presentation, and then you'll get the detailed notes.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

A First Course in RDF and RDFS (Resource Description Framework and Resource Description Framework Schema) A First Course in RDF and RDFS (Resource Description Framework and Resource Description Framework Schema) Presentation Transcript

  • Introduction to RDF and RDFS Mark Birbeck http://webBackplane.com/mark-birbeck
  • RDF...a four letter word
  • RDF/XML is the real villain
  • The promise of XML
  • RDF Documents
    • Primer
    • Concepts
    • Syntax
    • Semantics
    • Vocabulary
    • Test cases
  • This tutorial
    • Concepts
    • Transporting RDF
    • Storing
    • Some sources of RDF data
    • Querying
    • Defining vocabularies
  • Metadata: data about data
  • Getting data from the web is easy...getting metadata is hard
  •  
  • XML was supposed to give us this information
    • <music genre=&quot;classical&quot;>
    • <title>
    • The Well-tempered Clavier
    • </title>
    • <composer>J. S. Bach</composer>
    • </music>
  • Why has XML not delivered?
    • <document type=&quot;classical music&quot;>
    • <name>
    • The Well-tempered Clavier
    • </name>
    • <author>J. S. Bach</author>
    • </document>
  • We want to say: &quot;give me everything created by J. S. Bach&quot;
  • To achieve that we need to agree how to say ' created by ' in any document
  • Dublin, Ohio Photo by Sleestak66: http://www.flickr.com/people/kesselring/
  •  
  • DC.Creator = &quot;J. S. Bach&quot;
  • DC.Title = &quot;The Well Tempered Clavier&quot;
    • abstract
    • audience
    • contributor
    • creator
    • description
    • publisher
    • rightsHolder
    • ...and many more
    Often called a vocabulary or taxonomy
    • <html>
    • <head>
    • <title>
    • Bach: The Well Tempered Clavier
    • </title>
    • <meta name=&quot; DC.Title &quot;
    • content=&quot;The Well Tempered Clavier&quot; />
    • <meta name=&quot; DC.Creator &quot;
    • content=&quot;J. S. Bach&quot; />
    • </head>
    • <body>
    • ...
    • </body>
    • </html>
    • <html>
    • <head>
    • <title>
    • An introduction to RDF
    • </title>
    • <meta name=&quot; title &quot;
    • content=&quot;Introduction to RDF&quot; />
    • <meta name=&quot; author &quot;
    • content=&quot;Mark Birbeck&quot; />
    • </head>
    • <body>
    • ...
    • </body>
    • </html>
    • <html>
    • <head>
    • <title>
    • An introduction to RDF
    • </title>
    • <meta name=&quot; DC.Title &quot;
    • content=&quot;Introduction to RDF&quot; />
    • <meta name=&quot; DC.Creator &quot;
    • content=&quot;Mark Birbeck&quot; />
    • </head>
    • <body>
    • ...
    • </body>
    • </html>
    • <music genre=&quot;classical&quot;>
    • <title>
    • The Well-tempered Clavier
    • </title>
    • <composer>J. S. Bach</composer>
    • </music>
    • <document type=&quot;classical music&quot;>
    • <name>
    • The Well-tempered Clavier
    • </name>
    • <author>J. S. Bach</author>
    • </document>
    • <music genre=&quot;classical&quot;>
    • <title>
    • The Well-tempered Clavier
    • </title>
    • < dc:creator >J. S. Bach</ dc:creator >
    • </music>
    • <document type=&quot;classical music&quot;>
    • <name>
    • The Well-tempered Clavier
    • </name>
    • < dc:creator >J. S. Bach</ dc:creator >
    • </document>
  • Recap
    • XML doesn't help
    • Having unique identifiers does
  • Unique identifiers are a key concept in RDF
  • DC.Creator DC.Title
  • http://purl.org/dc/terms/ creator http://purl.org/dc/terms/ title
  • Resource Description Framework
  • http://purl.org/dc/terms/ creator http://purl.org/dc/terms/ title
  •  
  •  
  •  
  • Recap
    • Resources and unique identifiers are fundamental for RDF:
    • http://purl.org/dc/terms/creator http://purl.org/dc/terms/title http://dbpedia.org/resource/Johann_Sebastian_Bach http://dbpedia.org/resource/Well-Tempered_Clavier
  • Triples
    • <html>
    • <head>
    • <title>
    • Bach: The Well Tempered Clavier
    • </title>
    • <meta name=&quot; DC.Title &quot;
    • content=&quot;The Well Tempered Clavier&quot; />
    • <meta name=&quot; DC.Creator &quot;
    • content=&quot;J. S. Bach&quot; />
    • </head>
    • <body>
    • ...
    • </body>
    • </html>
  •  
    • var piece = { title : &quot;The Well-tempered Clavier&quot;, creator : &quot;J. S. Bach&quot; };
    • Triples are sometimes called statements:
    • J. S. Bach composed &quot;The Well Tempered Clavier&quot;. J. S. Bach was born on 21 st March, 1685. J. S. Bach died on 28 th July, 1750.
  • The parts of a triple
  • Subject A URI: http://dbpedia.org/resource/Johann_Sebastian_Bach
  • Predicate
    • Also a URI:
      • http://purl.org/dc/terms/creator
  • Object
    • Literal or URI:
      • &quot;Johann Sebastian Bach&quot; http://dbpedia.org/resource/Well-Tempered_Clavier
  • Plain literals
    • Essentially strings:
      • &quot;Johann Sebastian Bach&quot; &quot;The Well-Tempered Clavier&quot;
  • Plain literals
    • But can contain language information:
      • &quot;Johann Sebastian Bach&quot;@en &quot;Бах, Иоганн Себастьян&quot;@ru &quot;The Well-Tempered Clavier&quot;@en &quot;Wohltemperiertes Klavie&quot;@de
  • Typed literals
    • And a datatype:
      • &quot;1685-03-21&quot;^^xsd:date &quot;1750-07-28&quot;^^xsd:date
  • XML literals &quot;H<sub>2</sub>O&quot;^^rdf:XMLLiteral
  • Recap
    • J. S. Bach composed &quot;The Well Tempered Clavier&quot;. J. S. Bach was born on 21 st March, 1685 J. S. Bach died on 28 th July, 1750.
  • Recap
    • J. S. Bach composed &quot;The Well Tempered Clavier&quot;. J. S. Bach was born on 21 st March, 1685 J. S. Bach died on 28 th July, 1750.
    <http://dbpedia.org/resource/Johann_Sebastian_Bach> dc:creator <http://dbpedia.org/resource/Well-Tempered_Clavier> . <http://dbpedia.org/resource/Well-Tempered_Clavier> dc:title &quot;The Well Tempered Clavier&quot;@en . <http://dbpedia.org/resource/Well-Tempered_Clavier> dc:title &quot;Wohltemperiertes Klavie&quot;@de .
  • Recap
    • J. S. Bach composed &quot;The Well Tempered Clavier&quot;. J. S. Bach was born on 21 st March, 1685 J. S. Bach died on 28 th July, 1750.
    <http://dbpedia.org/resource/Johann_Sebastian_Bach> p:dateOfBirth &quot;1685-03-21&quot;^^xsd:date .
  • Recap
    • J. S. Bach composed &quot;The Well Tempered Clavier&quot;. J. S. Bach was born on 21 st March, 1685 J. S. Bach died on 28 th July, 1750.
    <http://dbpedia.org/resource/Johann_Sebastian_Bach> p:dateOfDeath &quot;1750-07-28&quot;^^xsd:date .
  • Graphs
  • The Well Tempered Clavier Wohltemperiertes Klavie dc:title dc:title 1685-03-21 1750-07-28 p:dateOfBirth p:dateOfDeath dc:creator
  • rdf:type
  • <http://dbpedia.org/resource/Johann_Sebastian_Bach> rdf:type yago:Composer . <http://dbpedia.org/resource/Johann_Sebastian_Bach> rdf:type foaf:Person .
  • Lists
  • Performed by Performed by dc:creator Performed by dc:creator rdf:Bag rdf:type
  • Blank nodes
  • Representing RDF
  • RDF/XML <rdf:RDF> <yago:Composer109947232 rdf:about=&quot;http://[...]/Johann_Sebastian_Bach&quot; > <p:birthPlace rdf:resource=&quot;http://[...]/Eisenach&quot; /> <p:dateOfDeath rdf:datatype=&quot;http://[...]/XMLSchema#date&quot; >1750-07-28</p:dateOfDeath> </yago:Composer109947232> </rdf:RDF>
  • Turtle dbpedia:Johann_Sebastian_Bach p:dateOfBirth &quot;1685-03-21&quot;^^xsd:date; p:dateOfDeath &quot;1750-07-28&quot;^^xsd:date; p:death &quot;1750-07-28&quot;^^xsd:date; p:deathPlace dbpedia:Leipzig; a yago:Composer, foaf:Person .
  • RDFa
    • <html>
    • <head>
    • <title>
    • Johann Sebastian Bach
    • </title>
    • < link rel =&quot;dc:creator&quot;
    • href =&quot;http://[...]/Well-Tempered_Clavier&quot; />
    • <meta property=&quot;p:dateOfBirth&quot;
    • content =&quot;1685-03-21&quot; datatype =&quot;xsd:date&quot; />
    • </head>
    • <body>
    • ...
    • </body>
    • </html>
  • RDFa
    • <html>
    • <head>
    • ...
    • </head>
    • <body>
    • <span property=&quot;foaf:name&quot;>
    • Johann Sebastian Bach
    • </span>
    • was born in
    • <span property=&quot;p:dateOfBirth&quot;
    • content=&quot;1685-03-21&quot; datatype=&quot;xsd:date&quot;
    • > 1685 </span> ,
    • in <span rel=&quot;p:placeOfBirth&quot;
    • resource=&quot; [dbp:Eisenach] &quot;> Eisenach </span>.
    • </body>
    • </html>
  • Storing RDF
  • Sources of RDF
  • Querying RDF
    • SELECT ?composer WHERE { ?composer rdf:type yago:Composer }
    • SELECT ?composer WHERE { ?composer rdf:type yago:Composer }
    • <http://dbpedia.org/resource/Johann_Sebastian_Bach>
    • <http://dbpedia.org/resource/Ludwig_van_Beethoven>
    • SELECT ?piece WHERE { dbpr: Johann_Sebastian_Bach dc:creator ?piece }
    • <http://dbpedia.org/resource/Well-Tempered_Clavier>
    • <http://dbpedia.org/resource/Cello_Suites_%28Bach%29>
  • Creating vocabularies
  • Classes
  • Composer Musician Is a type of Artist Is a type of Creator Is a type of
    • yago:Composer a rdfs:Class .
    • yago:Composer a rdfs:Class .
    • yago:Composer rdfs:subClassOf yago:Musician .
    • yago:Musician rdfs:subClassOf yago:Artist .
    • yago:Artist rdfs:subClassOf yago:Creator .
    • yago:Composer a rdfs:Class .
    • yago:Composer rdfs:subClassOf yago:Musician .
    • yago:Musician rdfs:subClassOf yago:Artist .
    • yago:Artist rdfs:subClassOf yago:Creator .
    • dbpedia:Johann_Sebastian_Bach a yago:Composer , foaf:Person .
    • SELECT ?composer WHERE { ?composer rdf:type yago:Composer }
    • <http://dbpedia.org/resource/Johann_Sebastian_Bach>
    • <http://dbpedia.org/resource/Ludwig_van_Beethoven>
    • SELECT ?s WHERE { ?s rdf:type yago:Artist }
    • <http://dbpedia.org/resource/Johann_Sebastian_Bach>
    • <http://dbpedia.org/resource/Ludwig_van_Beethoven>
  • Properties
    • foaf:surname a rdfs:Property .
    • foaf:surname a rdfs:Property .
    • foaf:surname rdfs:Range rdfs:Literal .
    • foaf:surname a rdfs:Property .
    • foaf:surname rdfs:Range rdfs:Literal .
    • foaf:surname rdfs:Domain foaf:Person .
  • Validation v. inference
    • foaf:surname a rdfs:Property .
    • foaf:surname rdfs:Range rdfs:Literal .
    • foaf:surname rdfs:Domain foaf:Person .
    • dbpedia:Johann_Sebastian_Bach foaf:surname &quot;Bach&quot; .
    dbpedia:Johann_Sebastian_Bach a foaf:Person .
    • xyz:composedBy a rdfs:Property .
    • xyz:composedBy rdfs:Range yago:Composer .
    • xyz:composedBy rdfs:Domain yago:Piece .
    • dbp:Cello_Suites_%28Bach%29 xyz:composedBy dbp:Johann_Sebastian_Bach .
    dbp:Johann_Sebastian_Bach a yago:Composer .
    • xyz:composedBy a rdfs:Property .
    • xyz:composedBy rdfs:Range yago:Composer .
    • xyz:composedBy rdfs:Domain yago:Piece .
    • xyz:composedBy rdfs :subPropertyOf dc:creator .
  • OWL
  • Conclusion
  • References
    • RDF Primer: http://www.w3.org/TR/rdf-primer/
    • RDF Schema: http://www.w3.org/TR/rdf-schema/
    • OWL: http://www.w3.org/2004/OWL/