Hostname: page-component-7b7567c8c-wxvwp Total loading time: 0 Render date: 2026-11-14T21:59:33.685Z Has data issue: false hasContentIssue false

SWI-Prolog and the web

Published online by Cambridge University Press:  01 May 2008

JAN WIELEMAKER
Affiliation:
Human-Computer Studies Laboratory, University of Amsterdam, Matrix I, Kruislaan 419, 1098 VA, Amsterdam, The Netherlands (e-mail: wielemak@science.uva.nl)
ZHISHENG HUANG
Affiliation:
Computer Science Department, Vrije University Amsterdam, De Boelelaan 1081a, 1081 HV, Amsterdam, The Netherlands (e-mail: huang@cs.vu.nl, lourens@cs.vu.nl)
LOURENS VAN DER MEIJ
Affiliation:
Computer Science Department, Vrije University Amsterdam, De Boelelaan 1081a, 1081 HV, Amsterdam, The Netherlands (e-mail: huang@cs.vu.nl, lourens@cs.vu.nl)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

Prolog is an excellent tool for representing and manipulating data written in formal languages as well as natural language. Its safe semantics and automatic memory management make it a prime candidate for programming robust Web services. Although Prolog is commonly seen as a component in a Web application that is either embedded or communicates using a proprietary protocol, we propose an architecture where Prolog communicates to other components in a Web application using the standard HTTP protocol. By avoiding embedding in external Web servers, development and deployment become much easier. To support this architecture, in addition to the transfer protocol, we must also support parsing, representing and generating the key Web document types such as HTML, XML and RDF. This article motivates the design decisions in the libraries and extensions to Prolog for handling Web documents and protocols. The design has been guided by the requirement to handle large documents efficiently. The described libraries support a wide range of Web applications ranging from HTML and XML documents to Semantic Web RDF processing. The benefits of using Prolog for Web-related tasks are illustrated using three case studies.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2008