1/21
RDF-Anwendungen: RSS
Richard Cyganiak, 20. Mai 2003
Seminar “Grundlagen des Semantic Web”Prof. Robert TolksdorfFreie Universität Berlin, Institut für Informatik
2/21
Inhalt
• Was ist RSS?• Geschichte und Versionen• Syntax und Beispiel• Module• RSS im Kontext des WWW• Tools
3/21
RSS: Wofür?
• ca. 1999: personalisierte Portale• Headline Syndication• Content Syndication
4/21
Was genau ist RSS?
• Leichtgewichtiges Metadaten-Beschreibungsformat• Genutzt zur Verteilung von maschinenlesbarem
Text und/oder Metadaten• RSS-Dokumente enthalten Liste von URI-
bezeichneten “Dingen”, z.B. News-Artikel• “[RSS] has become perhaps the most popular
XML format today.” (Andrew King, webreference.com, 2001)
5/21
RSS-Versionen
• “Simple RSS”-Zweig– ohne RDF
– 0.91-0.94 (Rich Site Summary)
– 2.0 (Really Simple Syndication)
• “Complex RSS”-Zweig– mit RDF
– 0.9 und 1.0 (RDF Site Summary)
• für Klienten relativ egal, müssen alles unterstützen
6/21
Beispiel (vereinfacht)<rdf:RDF> <channel> <!-- Metadaten des Channels --> </channel>
<item rdf:about="http://example.com/2003/05/20/news1.html"> <!-- Metadaten über news1 --> </item>
<item rdf:about="http://example.com/2003/05/19/news2.html"> <!-- Metadaten über news2 --> </item>
<!-- ... -->
</rdf:RDF>
7/21
Syntax
8/21
Vereinfachungen (1)
• RDF-Syntax ist komplex• RSS erzwingt Vereinfachungen, um Schreiben
von Parsern zu erleichtern• Namespaces fest vorgeschrieben
9/21
Vereinfachungen (2)
• beide Schreibweisen in RDF erlaubt und äquivalent• nur Kurzform in RSS erlaubt
<channel rdf:about="..."> <!-- ... --></channel>
<rdf:Description rdf:about="..."> <rdf:type rdf:resource="http://purl.org/rss/1.0/channel"> <!-- ... --></rdf:Description>
10/21
Module (1)
• Ermöglichen Erweiterung von RSS, ohne Kernspezifikation zu ändern
• Jedes Modul definiert– eigenen Namensraum
– first-level-Elemente
– second-level-Elemente
11/21
Module (2)
• Verabschiedete Module– Dublin Core, Syndication, Content
• Vorgeschlagene Module– Annotation, Audio, Company, Email, Event,
Servicestatus, Taxonomy, Threading, ...
12/21
Beispiel: Creative Commons
• Modul zur Angabe von Copyright-Informationen für Channels oder Items
<item rdf:about="http://example.org/article123"> <!-- ... --> <cc:license rdf:resource="http://example.org/license" /></item><cc:License rdf:about="http://example.org/license"> <cc:permits rdf:resource="http://web.resource.org/cc/Reproduction" /> <cc:permits rdf:resource="http://web.resource.org/cc/Distribution" /> <cc:requires rdf:resource="http://web.resource.org/cc/Attribution" /></cc:License>
13/21
RSS im Web
• News-Anbieter stellt “Feed” unter URL via HTTP bereit
• Feed enthält die neuesten “Items” (typisch: 15)• Klienten verwalten Liste “abonnierter” Feeds• fragen jeden Feed regelmäßig ab• präsentieren neue Headlines dem Leser• anders als klassisches Web: Push statt Pull• anders als Email-Newsletter: HTTP,
Abonnementverwaltung beim Empfänger
14/21
Wer bietet Feeds an?
• CNN• BBC• New York Times• news.com• Heise• Slashdot• wired.com• w3.org• (fast) alle Blogs
15/21
RSS Autodiscovery in HTML
<html> <head> <title>dive into mark</title> <link rel="alternate" type="application/rss+xml" title="RSS" href="http://diveintomark.org/xml/rss.xml"/>
<!-- ... -->
16/21
Probleme und “heiße” Themen
• Einbinden des Nachrichtenkörpers in den Feed (“body content”)
• Transfervolumen durch häufiges Abfragen der Feeds
• verschiedene Versionen, Konflikt zwischen 1.0- und 2.0-Lager
• Popularität verursacht “tag soup”-Effekt
17/21
Tools: RSS-Viewer
• Desktop-Applikationen zum komfortablen Mitverfolgen vieler Feeds
• NewsMonster: Mozilla-Plugin, Java-Backend• AmphetaDesk: lokaler Webserver, Perl• Syndirella: Standalone-Desktop-App (.net)• ...
18/21
Tools: RSS-Aggregatoren
• Webseiten mit nach Themen aggregierten Feeds• oft personalisierbar• O’Reilly Meerkat, Syndic8, News Is Free• Suchen innerhalb der Feeds• Google? (hat blogger.com gekauft)
19/21
Tools: Sonstiges
• RSS Usenet news (NNTP)• RSS Email• Google RSS• Email RSS• CVS checkins RSS• Playlisten und Kalender• Validatoren, z.B. http://feeds.archive.org/validator/
20/21
Zusammenfassung
• RSS ist Format für Austausch von Headlines, Inhalten und Metadaten
• inkompatible Versionen, nicht alle RDF• populär, viele Inhalte, viele Tools• RDF-Version (1.0)
– flexibel und vielseitig
– durch Module erweiterbar
21/21
Quellen
• RSS 1.0 Spezifikation:http://www.purl.org/rss/1.0/spec
• Content Syndication with XML and RSS weblog:http://rss.benhammersley.com/
• RSS Tools (Übersicht):http://www.ourpla.net/cgi-bin/pikie.cgi?RssReaders
• Mark Pilgrim: What is RSS?http://www.xml.com/pub/a/2002/12/18/dive-into-xml.html
Top Related