Did you know ... Search Documentation:
How to create a web service easily?

Creating web services with SWI-Prolog is a breeze. This how-to is intended as your first bluffer's guide. All examples come with fully operational source code.

Deploying Prolog-based web servers

This is work in progress! If you want to contribute or comment, send an e-mail to me or to the mailinglist.


Here is a tutorial with exercises by Anne Ogborn.

new.gif Here is a sample implementation of a JavaScript client communicating with a SWI-Prolog server, using the newer ibrary(http/http_server) API.

Example code

We have two servers available with complete source. One is the server that runs http://www.swi-prolog.org, which can be downloaded through GIT from the repository plweb.git. The other is ClioPatria. Although ClioPatria targets semantic web (RDF) applications, it is also useful as a starting point for general purpose web servers.

Here is a very incomplete selection of functionality that you can find in these servers:

  • SWI-Prolog.org
  • ClioPatria
    • User management, OpenID
    • Extension packs (CPACK)
    • Modular server configuration
    • Server statistics
    • Handle messages from Prolog
    • Lots of RDF stuff

Plans (todo)

  • AJAX interaction (YUI, simple table, tree, N-Queens code?)
  • PWP
  • Logfiles and processing thereof
  • Stress-testing by replaying logfiles