RDF: Difference between revisions

The educational technology and digital learning wiki
Jump to navigation Jump to search
 
(19 intermediate revisions by 4 users not shown)
Line 4: Line 4:
* The Resource Description Framework (RDF) is a language for representing information about resources in the World Wide Web.
* The Resource Description Framework (RDF) is a language for representing information about resources in the World Wide Web.


* Originally RDF was primarily intented to represent metadata about Web resources, such as the title, author, and modification date of a Web page, copyright and licensing information about a Web document, or the availability schedule for some shared resource. However, by generalizing the concept of a "Web resource", RDF can also be used to '''represent information about things that can be identified on the Web''', i.e. the [[semantic web]].
* Originally RDF was primarily intended to represent metadata about Web resources, such as the title, author, and modification date of a Web page, copyright and licensing information about a Web document, or the availability schedule for some shared resource. However, by generalizing the concept of a "Web resource", RDF can also be used to '''represent information about things that can be identified on the Web''', i.e. the [[semantic web]].


== Major RDF vocabularies ==
== Major RDF vocabularies ==
Line 20: Line 20:
; Semantic Web
; Semantic Web
* [[OWL]]
* [[OWL]]
* SparQL (Query language)
* [[SKOS]] (Simple Knowledge Organisation System)
* [[SPARQL]] (Query language)


== RDF basics ==
== RDF basics ==


At its core, RDF has a simple relational data model: Subject - Verb - Object ''or expressed differently'' Predicate (Subject, Object)
At its core, RDF has a simple relational data model: Subject - Verb - Object ''or expressed differently'' Predicate (Subject, Object)
* Sujet = The resource
* Subject = The resource
* Objet = Value
* Object = Value
* Verb = Predicate = propriety = relation of the subjet with the object
* Verb = Predicate = propriety = relation of the subjet with the object


Line 35: Line 36:
           xmlns:mon_schema="http://tecfa.unige.ch/lib/mon_schema" >
           xmlns:mon_schema="http://tecfa.unige.ch/lib/mon_schema" >
   <rdf:Description rdf:about="http://tecfa.unige.ch/perso/staf/lattion/">
   <rdf:Description rdf:about="http://tecfa.unige.ch/perso/staf/lattion/">
   <mon_schema:Creator>Stéphane Lattion</mon_schema:Creator>
   <mon_schema:Creator>Stéphane Lattion</mon_schema:Creator>
   </rdf:Description>
   </rdf:Description>
  </rdf:RDF>
  </rdf:RDF>
Line 41: Line 42:
It expresses a relation like this:
It expresses a relation like this:
[[image:rdf-simple-relation.png|frame|none|A simple ressource-author relationship]]
[[image:rdf-simple-relation.png|frame|none|A simple ressource-author relationship]]


== RDF and the semantic web ==
== RDF and the semantic web ==
Line 53: Line 53:
[[image:rdf-bus-clients.png|frame|none|Software clients of the RDF bus]]
[[image:rdf-bus-clients.png|frame|none|Software clients of the RDF bus]]


== Turtle syntax ==
Since XML/RDF code is some verbose, writing it manually is fairly time consuming. The W3C team proposes a "textual syntax for RDF called Turtle that allows RDF graphs to be completely written in a compact and natural text form, with abbreviations for common usage patterns and datatypes" ([http://www.w3.org/TeamSubmission/turtle/ Turtle - Terse RDF Triple Language], retrieved 15:31, 10 March 2008 (MET)).
Example:
<pre>
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:ex="http://example.org/stuff/1.0/">
  <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
  dc:title="RDF/XML Syntax Specification (Revised)">
    <ex:editor>
      <rdf:Description ex:fullName="Dave Beckett">
<ex:homePage rdf:resource="http://purl.org/net/dajobe/" />
      </rdf:Description>
    </ex:editor>
  </rdf:Description>
</rdf:RDF>
</pre>
becomes in turtle syntax:
<pre>
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix ex: <http://example.org/stuff/1.0/> .
<http://www.w3.org/TR/rdf-syntax-grammar>
  dc:title "RDF/XML Syntax Specification (Revised)" ;
  ex:editor [
    ex:fullname "Dave Beckett";
    ex:homePage <http://purl.org/net/dajobe/>
  ] .
</pre>


== Links ==
== Links ==
Line 64: Line 97:
* [http://www.w3.org/TR/rdf-syntax-grammar/ RDF/XML Syntax Specification], W3C Recommendation 10 February 2004.
* [http://www.w3.org/TR/rdf-syntax-grammar/ RDF/XML Syntax Specification], W3C Recommendation 10 February 2004.
* [http://www.w3.org/TR/rdf-schema/ RDF Vocabulary Description Language 1.0: RDF Schema], W3C Recommendation 10 February 2004
* [http://www.w3.org/TR/rdf-schema/ RDF Vocabulary Description Language 1.0: RDF Schema], W3C Recommendation 10 February 2004
* [http://www.w3.org/TeamSubmission/turtle/ Turtle - Terse RDF Triple Language]
; RDF Namespaces
* [http://ebiquity.umbc.edu/blogger/100-most-common-rdf-namespaces/ 100 most common RDF namespaces]
;RDF and XHTML
* See the [[RDFa]] article
* [http://www.w3.org/TR/xhtml-rdfa-primer/ RDFa Primer 1.0 Embedding RDF in XHTML] (Working Draft in March 2007)


; OWL
; OWL
Line 72: Line 113:


; Other RDF Applications
; Other RDF Applications
* [http://www.w3.org/TR/rdf-sparql-query/ SPARQL Query Language for RDF] (last checkedwas: W3C Working Draft 17 February 2005)
* [http://www.w3.org/TR/rdf-sparql-query/ SPARQL Query Language for RDF] (W3C Recommendation, 15 January 2008)
* [http://www.w3.org/PICS/ PICS] (Platform for Internet Content Selection)
* [http://www.w3.org/PICS/ PICS] (Platform for Internet Content Selection)
* [http://www.w3.org/TR/skos-reference/ SKOS Simple Knowledge Organization System] (W3C WD Jan 2008)


=== Overviews ===
=== Overviews ===
Line 90: Line 132:
* http://www.semanticplanet.com/
* http://www.semanticplanet.com/
* W3C [http://www.w3.org/2001/sw/ Semantic Web] page.
* W3C [http://www.w3.org/2001/sw/ Semantic Web] page.
* [http://ontoworld.org/ ontoworld.org]


=== Various to sort out ===
=== Various to sort out ===
Line 103: Line 146:




[[Category: Technologies]]
 
[[Category: Standards]]
[[Category: Standards]]
[[Category: XML]]
[[Category: XML]][[Category:web standards]]
[[Category: Knowledge representation]]

Latest revision as of 18:03, 15 March 2013

Draft

Definition

  • The Resource Description Framework (RDF) is a language for representing information about resources in the World Wide Web.
  • Originally RDF was primarily intended to represent metadata about Web resources, such as the title, author, and modification date of a Web page, copyright and licensing information about a Web document, or the availability schedule for some shared resource. However, by generalizing the concept of a "Web resource", RDF can also be used to represent information about things that can be identified on the Web, i.e. the semantic web.

Major RDF vocabularies

Metadata
Content syndication and social software
  • RSS 1.0 which is not very popular, most RSS formats are not RDF since bloggers don't understand issues related to the semantic web :)
  • FOAF Friends-of-a-friend vocabulary for person networks
Semantic Web
  • OWL
  • SKOS (Simple Knowledge Organisation System)
  • SPARQL (Query language)

RDF basics

At its core, RDF has a simple relational data model: Subject - Verb - Object or expressed differently Predicate (Subject, Object)

  • Subject = The resource
  • Object = Value
  • Verb = Predicate = propriety = relation of the subjet with the object

Here is a typical RDF fragment

<?xml version="1.0"?>
 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
          xmlns:mon_schema="http://tecfa.unige.ch/lib/mon_schema" >
 <rdf:Description rdf:about="http://tecfa.unige.ch/perso/staf/lattion/">
  <mon_schema:Creator>Stéphane Lattion</mon_schema:Creator>
 </rdf:Description>
</rdf:RDF>

It expresses a relation like this:

A simple ressource-author relationship

RDF and the semantic web

The RDF Software stack

The RDF software stack

The RDF bus

Software clients of the RDF bus

Turtle syntax

Since XML/RDF code is some verbose, writing it manually is fairly time consuming. The W3C team proposes a "textual syntax for RDF called Turtle that allows RDF graphs to be completely written in a compact and natural text form, with abbreviations for common usage patterns and datatypes" (Turtle - Terse RDF Triple Language, retrieved 15:31, 10 March 2008 (MET)).

Example:

<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:ex="http://example.org/stuff/1.0/">
  <rdf:Description rdf:about="http://www.w3.org/TR/rdf-syntax-grammar"
		   dc:title="RDF/XML Syntax Specification (Revised)">
    <ex:editor>
      <rdf:Description ex:fullName="Dave Beckett">
	<ex:homePage rdf:resource="http://purl.org/net/dajobe/" />
      </rdf:Description>
    </ex:editor>
  </rdf:Description>
</rdf:RDF>

becomes in turtle syntax:

@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix ex: <http://example.org/stuff/1.0/> .

<http://www.w3.org/TR/rdf-syntax-grammar>
  dc:title "RDF/XML Syntax Specification (Revised)" ;
  ex:editor [
    ex:fullname "Dave Beckett";
    ex:homePage <http://purl.org/net/dajobe/>
  ] .

Links

Standards

RDF Namespaces
RDF and XHTML
OWL
Other RDF Applications

Overviews

On-line validation

RDF-related web sites

Various to sort out

References

  • Eric Miller An Introductionto the Resource Description Framework (1998), D-Lib Magazine May 1998, ISSN 1082-9873, HTML
  • Manola Frank and Eric Miller (2004). RDF Primer, W3C Recommendation 10 February 2004, W3C.