Skip to main content
    • Aa
    • Aa
  • Get access
    Check if you have access via personal or institutional login
  • Cited by 9
  • Cited by
    This article has been cited by the following publications. This list is generated based on data provided by CrossRef.

    Angelopoulos, Nicos Abdallah, Samer and Giamas, Georgios 2016. Advances in integrative statistics for logic programming. International Journal of Approximate Reasoning, Vol. 78, p. 103.

    Bellodi, Elena Lamma, Evelina Riguzzi, Fabrizio Zese, Riccardo and Cota, Giuseppe 2016. A web system for reasoning with probabilistic OWL. Software: Practice and Experience,

    Bimba, Andrew Thomas Idris, Norisma Al-Hunaiyyan, Ahmed Mahmud, Rohana Binti Abdelaziz, Ahmed Khan, Suleman and Chang, Victor 2016. Towards knowledge modeling and manipulation technologies: A survey. International Journal of Information Management, Vol. 36, Issue. 6, p. 857.

    Ramirez-Amaro, Karinne Beetz, Michael and Cheng, Gordon 2015. Transferring skills to humanoid robots by extracting semantic representations from observations of human activities. Artificial Intelligence,

    Riguzzi, Fabrizio Bellodi, Elena Lamma, Evelina Zese, Riccardo and Cota, Giuseppe 2015. Probabilistic logic programming on the web. Software: Practice and Experience, p. n/a.

    MORALES, JOSE F. HAEMMERLÉ, RÉMY CARRO, MANUEL and HERMENEGILDO, MANUEL V. 2012. Lightweight compilation of (C)LP to JavaScript. Theory and Practice of Logic Programming, Vol. 12, Issue. 4-5, p. 755.

    WIELEMAKER, JAN SCHRIJVERS, TOM TRISKA, MARKUS and LAGER, TORBJÖRN 2012. SWI-Prolog. Theory and Practice of Logic Programming, Vol. 12, Issue. 1-2, p. 67.

    Zimmermann, Antoine Lopes, Nuno Polleres, Axel and Straccia, Umberto 2012. A general framework for representing, reasoning and querying with annotated Semantic Web data. Web Semantics: Science, Services and Agents on the World Wide Web, Vol. 11, p. 72.

    Liem, Jochem and Bredeweg, Bert 2009. Collaborative capture and reuse of system knowledge. Ecological Informatics, Vol. 4, Issue. 5-6, p. 367.

  • Theory and Practice of Logic Programming, Volume 8, Issue 3
  • May 2008, pp. 363-392

SWI-Prolog and the web

  • DOI:
  • Published online: 01 May 2008

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.

Linked references
Hide All

This list contains references from the content that can be linked to their source. For a full set of references and notes please see the PDF or HTML where available.

P. Deransart , A. Ed-Dbali and L. Cervoni 1996. Prolog: The Standard. Springer-Verlag, New York.

M. Hearst , J. English , R. Sinha , K. Swearingen and K. Yee 2002. Finding the flow in Web site search. Communications of the ACM 45, 9 (September), 4249.

G. Miller 1995. WordNet: A lexical database for english. Communication of the ACM 38, 11 (November), 3941.

Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Theory and Practice of Logic Programming
  • ISSN: 1471-0684
  • EISSN: 1475-3081
  • URL: /core/journals/theory-and-practice-of-logic-programming
Please enter your name
Please enter a valid email address
Who would you like to send this to? *