Swi-prolog and the web

  • Authors:
  • Jan Wielemaker;Zhisheng Huang;Lourens Van der meij

  • Affiliations:
  • Human-computer studies laboratory, university of amsterdam, matrix i, kruislaan 419, 1098 va, amsterdam, the netherlands (e-mail: wielemak@science.uva.nl);Computer science department, vrije university amsterdam, de boelelaan 1081a, 1081 hv, amsterdam, the netherlands (e-mail: huang@cs.vu.nl, lourens@cs.vu.nl);Computer science department, vrije university amsterdam, de boelelaan 1081a, 1081 hv, amsterdam, the netherlands (e-mail: huang@cs.vu.nl, lourens@cs.vu.nl)

  • Venue:
  • Theory and Practice of Logic Programming
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.