You are currently viewing a snapshot of taken on April 21, 2008. Most of this content is highly out of date (some pages haven't been updated since the project began in 1998) and exists for historical purposes only. If there are any pages on this archive site that you think should be added back to, please file a bug.

Resource Description Framework (RDF)

Semantic Web technologies in Mozilla

Robert Churchill (
David Hyatt (
Chris Waterson (

Maintained by:
Dan Brickley (

The Resource Description Framework, or RDF, is a W3C technology that we're using in Mozilla to integrate and aggregate Internet resources.

Mozilla RDF was originally used to support the Aurora/Sidebar user interface and SmartBrowsing metadata services. It's main use in Mozilla now is as a common data model and API for use in XUL-based applications.

See the MozillaRdf entry in the ESW wiki for developer-supplied documentation and notes.

General RDF-in-Mozilla Docs

These docs describe the implementation of RDF in Mozilla; for formal specifications consult the W3C Recommendation for the RDF Model and Syntax. See also the RDF Schema Proposed Recommendation, which describes the RDF type system and model for metadata vocabulary description.

In Fifty Words Or Less. A nickel description of what RDF is, and how it fits in to the Mozilla world. Comes complete with examples!

Back-End Architecture. A grandiose document that describes how the RDF back-end works in Mozilla. Eventually, this will have sample code that illustrates how to use the back-end directly as a client, as well as instructions and samples that illustrate how to write your own pluggable RDF data source.

RDF-in-Mozilla FAQ. A modest FAQ about using RDF in Mozilla. Contains sample code!

Examples. A collection of examples that demonstrate how to use RDF in Mozilla.

Datasource Howto. A cookbook for creating a datasource. Also, Aggregating the In-Memory Datasource for those who are willing to explore the vagaries of XPCOM aggregation.

XUL Template Primer. A primer for XUL templates, which can be used to build fancy UI from an RDF datasource.

XUL Template Reference. A reference manual for XUL templates, the machinery that builds a content model from a graph. [This is a bit out of date, and does not cover the new extended template syntax]

How It Works With NGLayout. This document describes how RDF/XML gets pumped through NGLayout to create a bona fide content model that is compatible with the Level 1 Core DOM.

RDF Technical Overview (revised 1999-08-10) - the original overview document providing a high level perspective on the Mozilla RDF implementation.

Mozilla RDF Vocabularies (work in progress) (open source meets open standards - migrating from home-grown terminology to community-led metadata vocabularies)

XML Application Types - a brief note on when to use RDF versus XML.

RDF Applications

Smart Browsing and Related Links (RDF annotation services). The SmartBrowsing system allows trusted third party metadata servers to provide XML/RDF 'related link' annotations while you browse. See also nsRelatedLinksHander for implementation details.

Aurora (UI philosophy). Aurora is/was a codename for the user interface components in Mozilla that are constructed against RDF datasources (also recently called Sidebar).

Flash Specification (Implementation details for Flash Panel). The Flash Panel provides an XML/RDF based system for supplying up-to-the-minute information about events that are of interest to the current user.

Mozilla RDF / Z39.50 Integration Project (hooking up to digital library systems). This is a side-project investigating the use of the ANSI/NISO Z39.50 search protocol from within Mozilla.

Enabling Inference - glueing logic and inference capabilities into Mozilla

Source Code

Related Documentation


netscape.public.mozilla.rdf is the Mozilla RDF newsgroup, and is an e-mail mirror. Another nice mailing list for RDF developers is RDF-DEV, which has more general (non-Mozilla) RDF traffic. See also the W3C site for details of the RDF Interest Group.

Older documents (to be updated)

Some of the following documents describe the older RDF implementation in Mozilla, and are partially obsoleted since the move to use the new layout engine. For more information about this change in Mozilla, see the development roadmap.

RDF Standards

RDF is a W3C specification, and is their recommended technology for (meta)data interchange on the Web.

Our aim is for the Mozilla RDF implementation to meet the W3C specs. If you find behaviour contrary to the spec, please check the Bug database to see if the problem is a known one. If not then file a bug report telling us what we're doing wrong, providing a clear test case and citing the relevant section of the RDF specification(s). Questions about the RDF specifications themselves should be directed at <> instead.

Additional layers on top of the core Model and Syntax are in the process of being defined by W3C. The RDF home page is the best place to track the latest developments and get involved with discussions about future RDF and 'semantic web' standards.

For example, there is as yet no agreed RDF Query API. An agreed spec for such a thing would be very useful. As background on RDF Query this you might also look at some proposals for RDF Query that were made at the Query Languages for the Web workshop. The W3C has set up an RDF Interest Group; more information is available on the W3C site, including a charter and mail archive for the group. The interest group is open to all RDF implementors and actively seeks input into future W3C work items relating to RDF...

We expect Mozilla's RDF implementation to track the evolving RDF standard as specified in future W3C Recommendations. The Model and Syntax spec is now finalised. Future work is likely on RDF Query mechanisms. The query mechanism in Mozilla should be compatible with anticipated future developments in this area. See also the Z39.50 / RDF project for exploratory work investigating the relationship between RDF and older search protocols.