% TLP2esam.tex / sample pages for TLP
% v2.11, released 6-nov-2002

\documentclass{tlp}
\usepackage{ifthen}
\usepackage{url}
% Remove hyperref for final version!!
%\usepackage[pdftex,colorlinks=true,urlcolor=blue]{hyperref}
\usepackage{swipl}

%Use these for Prolog's latex2html
%\onefile
%\htmloutput{html}				% Output directory
%\htmlmainfile{index}				% Main document file
%\bodycolor{white}				% Page colour

\usepackage[pdftex]{graphicx}
\DeclareGraphicsExtensions{.pdf,.jpg,.png}
\graphicspath{{figs/}{./}}
\newcommand{\tag}[1]{\texttt{#1}}
\newcommand{\fnurl}[1]{\footnote{\url{#1}}}
\sloppy

\begin{document}
\bibliographystyle{acmtrans}

\long\def\comment#1{}

\title{SWI-Prolog and the Web}

\author[J. Wielemaker, Z. Huang and L. van der Meij]
{JAN WIELEMAKER \\
Human-Computer Studies laboratory \\
University of Amsterdam\\
Matrix I \\
Kruislaan 419 \\
1098 VA, Amsterdam \\
The Netherlands \\
\email{wielemak@science.uva.nl}
\and
ZHISHENG HUANG, LOURENS VAN DER MEIJ \\
Computer Science Department\\
Vrije University Amsterdam\\
De Boelelaan 1081a \\
1081 HV, Amsterdam\\
The Netherlands\\
\email{huang,lourens@cs.vu.nl}
}

\pagerange{\pageref{firstpage}--\pageref{lastpage}}
\volume{\textbf{?} (?):}
\jdate{May 2006}
\setcounter{page}{1}
\pubyear{2006}

\maketitle

\label{firstpage}

\begin{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.  

Where 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 paper 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 is illustrated using
three case studies.
\end{abstract}

\begin{keywords}
Prolog, HTTP, HTML, XML, RDF, DOM
\end{keywords}

\input{introduction}

\input{web}

\input{protocol}

\input{extension}

\input{serql}

\input{xdig}

\input{facet}

\input{conclusion}

\section*{Acknowledgements}

Recent development and preparing this paper was supported by the
MultimediaN\fnurl{www.multimedian.nl} project funded through the BSIK
programme of the Dutch Government. Older projects that provided a major
contribution to this research include the European projects IMAT and
GRASP and the Dutch project MIA. The XDIG case-study is supported by FP6
Network of Excellence European project SEKT (IST-506826). The faceted
browser case-study is funded by CATCH, a program of the Dutch
Organization NWO. We acknowledge the SWI-Prolog community for feedback
on the presented facilities, in particular Richard O'Keefe for his
extensive feedback on SGML support.

\bibliography{plweb}

\end{document}



