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.

Mozilla RDF / Enabling Inference

This is an umbrella project for experimental work investigating the integration of logic/inference capabilities into the Mozilla application environment.



RDF was designed to be (amongst many other things!) an appropriate data representation formalism for logic/inference applications on the Web. A number of papers and tools already exist that explore the relationship between the W3C's RDF and the world of logic programming. Our aim here is to put some of this into practice and explore the possibilities it raises for a the creation of more intelligent and intuitive information management tools.

What might this mean in practice? Imagine an RDF datasource that responded to the normal RDF graph API but which could be loaded with declarative rules allowing it to infer the presence of RDF statements that it hasn't explicitly been given. Or better, a rule-aware datasource that could use rules in combination with facts stored in other simpler datasources. Potential applications include inter-schema mappings, complex reasoning about user preferences and profiles (eg. PICS rules, P3P etc), fancy email filtering capabilities etc etc... [your better examples go here]

Background Reading

The following papers and tools focus on RDF and logic/inference/agent applications. Also you'll want to read most of the documents linked from the Mozilla RDF home page, and of course the offical specs from the W3C RDF pages. Finally the Z39.50 / RDF Integration project has a few links aimed at people just getting started with the Mozilla architecture.

Raw Materials

Ideally we'll find a cross-platform software component that can be linked into Mozilla to provide a logic-oriented interface to RDF datasources. For there to be any chance of including this in the main Mozilla build, it would need to be available under some suitable license (eg. GNU general license isn't appropriate; GNU library license (I think) is.).

Here are some possibly useful ingredients that might be mangled into Mozilla components. Please feel free to recommend others that should be listed.

Running Code!

Geoff Chappell managed to get a Prolog-based RDF logic composite datasource up and running within a week of this vague request on comp.lang.prolog. There is a separate page available providing details (and downloads) of the prolog-aware datasource. Although currently based around SWI-Prolog, the glue code that sits between RDF and the prolog engine is pretty generic so might for example be useful for hooking up to XSB or other systems.

More details available on the Mozillation site. Source code is now available under MPL license, and the system works with M14 and Netscape 6 Preview-1.

Other Projects

Some things to try:

  • Representation of RDF schema type system (subClassOf etc) as logic rules (see F-Logic version from SiLRI)
  • Representation of RDF containers (this has been discussed a little on RDF-DEV)
  • Search the web for logic stuff in Javascript (everything is out there somewhere ;-)
  • Build XUL/Javascript UI on top of rule-aware datasources
  • Expression of P3P privacy preferences or PICS rules as logical rules over RDF content
  • Your idea here...
  • and your student project here...


See the Mozilla RDF home page for links to appropriate discussion forums. Anything to do with Mozilla probably belongs on the mozilla-rdf newsgroup/list; more general RDF and logic issues might usefully be discussed on RDF-DEV.
Author: Dan Brickley
Last Updated: $Id: inference.html,v 1.4 2000/11/08 18:20:13 Exp $