RDF Site Summary 1.0 Modules: Reference

Authors

Kevin A. Burton , Independent

Version

Latest Version: http://purl.org/rss/1.0/modules/proposed/reference/

Mon Jul 22 2002 06:15 PM ( init ) kab

Status

Proposed, Mon Jul 22 2002 06:28 PM

Rights

Copyright © 2000 by the Authors.

Permission to use, copy, modify and distribute the RDF Site Summary 1.0 Reference Module Specification and its accompanying documentation for any purpose and without fee is hereby granted in perpetuity, provided that the above copyright notice and this paragraph appear in all copies. The copyright holders make no representation about the suitability of the specification for any purpose. It is provided "as is" without expressed or implied warranty.

This copyright applies to the RDF Site Summary 1.0 Reference Module Specification and accompanying documentation and does not extend to the RSS Module's format itself.

Description

This (mod_reference) is an RSS 1.0 module for syndication of 'reference' content. This provides the addition of resources which may quality as further reading with respect to the current item.

References are currently being used by a number of real-world sites including XMLHack, Wired and CNET. Generally these are provided for the reader at the end of a news article and provide references for further reading.

For example a recent Wired news article entitled Raising the Accessibility Bar provided the following reference links (only showing two):

This information is only currently provided as HTML and is not available to RSS tools. mod_reference solve this problem and hopefully in time more RSS applications will become mod_reference aware.

There is a slight duplication with the content within ref:reference element and rss:item. mod_reference is not intended to duplicate the functionality of an RSS item. If additional information about these resources exposed by mod_reference is needed by RSS aggregators (or readers) this should be obtained from the RSS feed of the site syndicating the content (or another RDF datasource).

Namespace Declarations

Syntax

ref:reference

ref:reference is a sub-element of an RSS item. It is used as follows:

            
<!-- note that CNN is a good reference for the current item -->
<ref:reference rdf:about="http://www.cnn.com">
    <!-- specify the title for this reference -->
    <dc:title>CNN offers further reading about today's current events</dc:title>
</ref:reference>

SRDF support

mod_reference support the Simple RDF (SRDF) mechanism for integration within RDF applications. It is possible to generate RDF for a channel which uses mod_reference with the included srdf.xsl XSL stylesheet.

It is also possible to store mod_reference information in an external RDF file and link to it from within the channel element.

            
<?xml version="1.0" encoding="utf-8"?> 

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:ref="http://purl.org/rss/1.0/modules/reference/"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:sub="http://purl.org/rss/1.0/modules/subscription/"
         xmlns:l="http://purl.org/rss/1.0/modules/link/"
         xmlns="http://purl.org/rss/1.0/"> 

    <channel rdf:about="http://example.org/rss.rdf">
        <title>Example Feed</title>
        <link>http://www.example.org</link>
        <description>Simply for the purpose of demonstration.</description>
        
        <items>
            <rdf:Seq>
                <rdf:li resource="http://www.xmlhack.com/read.php?item=1725" />
            </rdf:Seq>
        </items>

        <l:link l:rel="http://purl.org/rss/1.0/modules/reference/"
                l:type="application/rdf+xml"
                l:title="References"
                rdf:resource="http://www.example.org/example-reference.rdf"/>

    </channel>

    <item rdf:about="http://www.xmlhack.com/read.php?item=1725">

        <title>Relax NG schemas for XML Encryption and XML Signature</title> 
        <link>http://www.xmlhack.com/read.php?item=1725</link>

    </item> 
    
</rdf:RDF>

Example

This example was taken from an article publised by XMLHack

            
<?xml version="1.0" encoding="utf-8"?> 

<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
         xmlns:ref="http://purl.org/rss/1.0/modules/reference/"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns="http://purl.org/rss/1.0/"> 

    <channel rdf:about="http://example.org/rss.rdf">
        <title>Example Feed</title>
        <link>http://www.example.org</link>
        <description>Simply for the purpose of demonstration.</description>
        
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.xmlhack.com/read.php?item=1725" />
            </rdf:Seq>
        </items>
        
    </channel>

    <item rdf:about="http://www.xmlhack.com/read.php?item=1725">
        <title>Relax NG schemas for XML Encryption and XML Signature</title> 
        <link>http://www.xmlhack.com/read.php?item=1725</link>

        <ref:reference rdf:about="http://xmlhack.com/read.php?item=1700">
            <dc:title>Relax NG schema for XLink</dc:title>
        </ref:reference>

        <ref:reference rdf:about="http://xmlhack.com/read.php?item=1595">
            <dc:title>New draft of RDF syntax specification</dc:title>
        </ref:reference>

        <ref:reference rdf:about="http://xmlhack.com/read.php?item=1274">
            <dc:title>A RELAX NG schema for W3C XML Schema</dc:title>
        </ref:reference>

        <ref:reference rdf:about="http://xmlhack.com/read.php?item=1267">
            <dc:title>RELAX NG implementation available</dc:title>
        </ref:reference>

    </item> 
    
</rdf:RDF>

RDF Example

This is an example of an RDF file publishing two subscription channels via mod_subscription. This file was automatically created with srdf.xsl

            
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:dc="http://purl.org/dc/elements/1.1/" 
         xmlns:ref="http://purl.org/rss/1.0/modules/reference/" 
         xmlns:rss="http://purl.org/rss/1.0/" 
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">

    <rdf:Description rdf:about="http://www.xmlhack.com/read.php?item=1725">
        <ref:reference>
            <rdf:Bag>
                <rdf:li rdf:resource="http://xmlhack.com/read.php?item=1700"/>
                <rdf:li rdf:resource="http://xmlhack.com/read.php?item=1595"/>
                <rdf:li rdf:resource="http://xmlhack.com/read.php?item=1274"/>
                <rdf:li rdf:resource="http://xmlhack.com/read.php?item=1267"/>
            </rdf:Bag>
        </ref:reference>
    </rdf:Description>

    <ref:reference rdf:about="http://xmlhack.com/read.php?item=1700">
        <dc:title>Relax NG schema for XLink</dc:title>
    </ref:reference>
    <ref:reference rdf:about="http://xmlhack.com/read.php?item=1595">
        <dc:title>New draft of RDF syntax specification</dc:title>
    </ref:reference>
    <ref:reference rdf:about="http://xmlhack.com/read.php?item=1274">
        <dc:title>A RELAX NG schema for W3C XML Schema</dc:title>
    </ref:reference>
    <ref:reference rdf:about="http://xmlhack.com/read.php?item=1267">
        <dc:title>RELAX NG implementation available</dc:title>
    </ref:reference>

</rdf:RDF>

When rendered as a RDF graph the semantic relationship looks like: