Mozilla RDF / Enabling Inference
This is an umbrella project for experimental work investigating the integration of logic/inference capabilities into the Mozilla application environment.
- New release of Mozillation plugin for M14 and NS6-PR1
- DARPA announce DARPA Agent Markup Language (DAML) agent language for the Web (see PCWEEK article)
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]
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.
- RDF Home page
- Enabling Inferencing (Guha et al.)
- Query + Metadata + Logic = Metalog (Massimo Marchiori, Janne Saarela)
- A Query and Inference Service for RDF (Decker et al.)
- Semantic Web roadmap (Berners-Lee)
- What the Semanic Web can represent (Berners-Lee)
- The Semantic Toolbox: Building Semantics on top of XML-RDF, or 'what could logic and trust look like in RDF' (Berners-Lee - "personal ramblings")
- SiLRI (Simple Logic-based RDF Interpreter) - an RDF inference engine in Java
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.
- XSB: The XSB Programming System (Version 2.0)
- SWI-Prolog (License; GML + other licenses negotiable)
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.
- a working Prolog RDF DataSource: Mozillation project
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)
- Expression of P3P privacy preferences or PICS rules as logical rules over RDF content
- Your idea here...
- and your student project here...
DiscussionSee 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 firstname.lastname@example.org
Last Updated: $Id: inference.html,v 1.4 2000/11/08 18:20:13 daniel.brickley%bristol.ac.uk Exp $