[Home]ResourceDescriptionFramework

MeatballWiki | RecentChanges | Random Page | Indices | Categories

http://www.w3.org/RDF/

From the website...

The Resource Description Framework (RDF) integrates a variety of web-based metadata activities including sitemaps, content ratings, stream channel definitions, search engine data collection (web crawling), digital library collections, and distributed authoring, using XML as an interchange syntax.

You may want to go directly to the [syntax standard].

See also [The Idiot's Guide to the Resource Description Framework].

See also DublinCore, SemanticWeb, and RdfForWikis.

[CategoryWebTechnology]

Meatball RSS Uses RDF

From CommunityWiki:ResourceDescriptionFramework:

As a an example, consider the Meatballl RichSiteSummary (RSS) [1]:

    <item rdf:about="http://www.usemod.com/cgi-bin/mb.pl?action=browse&id=AlexSchroeder&revision=433">
        <title>AlexSchroeder</title>
        <link>http://www.usemod.com/cgi-bin/mb.pl?AlexSchroeder</link>;
        <description>reply to sunir</description>
        <dc:date>2003-10-24T22:49:18+06:00</dc:date>
        <dc:contributor>
            <rdf:Description wiki:host="dclient80-218-94-90.hispeed.ch" link="http://www.usemod.com/cgi-bin/mb.pl?AlexSchroeder">
                <rdf:value>AlexSchroeder</rdf:value>
            </rdf:Description>
        </dc:contributor>
        <wiki:status>updated</wiki:status>
        <wiki:importance>major</wiki:importance>
        <wiki:diff>http://www.usemod.com/cgi-bin/mb.pl?action=browse&diff=4&id=AlexSchroeder</wiki:diff>;
        <wiki:version>433</wiki:version>
        <wiki:history>http://www.usemod.com/cgi-bin/mb.pl?action=history&id=AlexSchroeder</wiki:history>;
    </item>

Compare this to a feed that uses less RDF stuff:

    <item rdf:about="http://www.emacswiki.org/cgi-bin/community?action=browse;id=RecentChanges;revision=2">
        <title>RecentChanges</title>
        <link>http://www.emacswiki.org/cgi-bin/community?action=browse;id=RecentChanges;revision=2</link>;
        <dc:date>2003-10-24T21:01:17+00:00</dc:date>
        <dc:contributor>AlexSchroeder</dc:contributor>
        <wiki:history>http://www.emacswiki.org/cgi-bin/community?action=history&id=RecentChanges</wiki:history>;
        <wiki:importance>major</wiki:importance>
        <wiki:version>2</wiki:version>
        <wiki:status>updated</wiki:status>
    <wiki:diff>http://www.emacswiki.org/cgi-bin/community?action=browse&diff=1&id=RecentChanges</wiki:diff>;
    </item>

Note how RDF is crud to parse, but it can represent "richer" information. Take the dc:contributor field as an example. In the non-RDF feed, the element content is all there is. It is a string, but we know nothing else about it. When rendering such a feed on a web page, the simplest thing is to just print it.

The RDF feed, however, tells us more about dc:contributor, such as a link to more information about the contributor. The value is in a separate element, and there even is an attribute from the wiki namespace telling us what host the contributor used.

When using this feed to produce a web page, for example, the problem is much harder. Even with an XML parser, you will have to include all sorts of logic to actually find the correct element content or attribute value containing the name of the contributor in the document object model (DOM). The richness of the information attracts many developers to RDF. At the same time, the hideous complexity also turns many developers off. After all, if all you want to do is encode the information so that it can be represented in web pages, RDF might be too costly for its benefits.


Discussion

MeatballWiki | RecentChanges | Random Page | Indices | Categories
Edit text of this page | View other revisions
Search: