W3C home > Mailing lists > Public > www-rdf-interest@w3.org > August 2004

Re: RDQL parser in Prolog (Sesame interoperability)

From: Jan Wielemaker <jan@swi.psy.uva.nl>
Date: Wed, 18 Aug 2004 11:21:04 +0200
To: www-rdf-interest@w3.org
Message-ID: <20040818092104.GA27057@gollem.swi.psy.uva.nl>

Simon,

On Wed, Jul 28, 2004 at 12:14:18PM +0100, Simon Price wrote:
> Does anyone know of an RDQL parser written in Prolog? I've found 
> references to Prolog+Java interfaces to JENA etc. but can't find an 
> existing implementation in plain old Prolog.
> 
> I'm using the RDF library in SWI-Prolog to create a Web Service for 
> querying FOAF. The grammar for RDQL is in the spec so I'm sure it won't 
> be too hard to write one but I'd rather not reinvent a wheel :-)

You already know from the SWI-Prolog list, but there may be others 
interested.

I've created what is basically a clone of Sesame (www.openrdf.org),
including both the Sesame (HTTP) server and Sesame client (extended from
work by Maarten Menken) in Prolog. This system has some attractive
freatures for those interested in Prolog, Java and the semantic web:

	* You can use the Prolog client to access both Sesame and the
 	  Prolog SeRQL engine.  This is cute for doing additional reasoning
	  on query results on Sesame servers, sharing data on a Sesame
	  based infrastructure, etc.  The client deals with session management
	  (login, logout), table and graph queries, uploading files, uploading
	  and deleting triples.

	* You can use Sesame remote repository access from Java to access
	  both Sesame and the Prolog SeRQL engine.  Using Sesame to access
	  the Prolog server is a nice combo for Java programmers wishing
	  to access semantic web data through Prolog reasoning as the
	  server provides a plugin interface for reasoning modules.

	* There is a SeRQL parser and compiler to a Prolog goal
	  that can run on the SWI-Prolog semantic web store.  This is the
	  core of the server, but it can also be used without the server.

	* Last and maybe least the HTTP server, like Sesame, provides 
	  services intended for programs as services intended for human
	  interaction through a browser.  The latter can be used as a
	  starting point to provide your own enduser oriented services.

The current version is 0.2.0 and still under active development. Still
lacking is any form of query optimalisation and the set of supported
input/output formats is limited. It requires SWI-Prolog 5.3.18. For more
info, see http://gollem.swi.psy.uva.nl/twiki/pl/bin/view/Library/SeRQL

People interested in contributing to this framework are kindly invited
to contact me.

	Enjoy --- Jan
Received on Wednesday, 18 August 2004 09:21:07 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:14:57 UTC