Jan Wielemaker

dblp:11/4190 · DBLP profile ↗
← Back
40ranked-venue papers
14as first author
4since 2021 · last 2022
0000-0001-5574-5673ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 19 · 10 first-author · 2 since 2021Databases, data management, data science and information retrieval · 18 · 3 first-author · 3 since 2021Theory of computation · 6 · 4 first-authorArtificial intelligence and machine learning · 4Human-computer interaction and ubiquitous computing · 3 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1Applied, interdisciplinary, general and emerging computing · 1
YearPublicationVenuePosition
2022 Transparent assessment of information quality of online reviews using formal argumentation theory
abstract
Review scores collect users’ opinions in a simple and intuitive manner. However, review scores are also easily manipulable, hence they are often accompanied by explanations. A substantial amount of research has been devoted to ascertaining the quality of reviews, to identify the most useful and authentic scores through explanation analysis. In this paper, we advance the state of the art in review quality analysis. We introduce a rating system to identify review arguments and to define an appropriate weighted semantics through formal argumentation theory. We introduce an algorithm to construct a corresponding graph, based on a selection of weighted arguments, their semantic distance, and the supported ratings. We also provide an algorithm to identify the model of such an argumentation graph, maximizing the overall weight of the admitted nodes and edges. We evaluate these contributions on the Amazon review dataset by McAuley et al. (2015), by comparing the results of our argumentation assessment with the upvotes received by the reviews. Also, we deepen the evaluation by crowdsourcing a multidimensional assessment of reviews and comparing it to the argumentation assessment. Lastly, we perform a user study to evaluate the explainability of our method, i.e., to test whether the automated method we use to assess reviews is understandable by humans. Our method achieves two goals: (1) it identifies reviews that are considered useful, comprehensible, and complete by online users, and does so in an unsupervised manner, and (2) it provides an explanation of quality assessments.
Davide Ceolin, Giuseppe Primiero, Michael Soprano, Jan Wielemaker
Inf. Syst.4
2022 Fifty Years of Prolog and Beyond
abstract
Abstract Both logic programming in general and Prolog in particular have a long and fascinating history, intermingled with that of many disciplines they inherited from or catalyzed. A large body of research has been gathered over the last 50 years, supported by many Prolog implementations. Many implementations are still actively developed, while new ones keep appearing. Often, the features added by different systems were motivated by the interdisciplinary needs of programmers and implementors, yielding systems that, while sharing the “classic” core language, in particular, the main aspects of the ISO-Prolog standard, also depart from each other in other aspects. This obviously poses challenges for code portability. The field has also inspired many related, but quite different languages that have created their own communities. This article aims at integrating and applying the main lessons learned in the process of evolution of Prolog. It is structured into three major parts. First, we overview the evolution of Prolog systems and the community approximately up to the ISO standard, considering both the main historic developments and the motivations behind several Prolog implementations, as well as other logic programming languages influenced by Prolog. Then, we discuss the Prolog implementations that are most active after the appearance of the standard: their visions, goals, commonalities, and incompatibilities. Finally, we perform a SWOT analysis in order to better identify the potential of Prolog and propose future directions along with which Prolog might continue to add useful features, interfaces, libraries, and tools, while at the same time improving compatibility between implementations.
Philipp Koerner, Michael Leuschel, João Barbosa, Vítor Santos Costa, Verónica Dahl, Manuel V. Hermenegildo, José F. Morales 0001, Jan Wielemaker, Daniel Diaz 0001, Salvador Abreu
Theory Pract. Log. Program.8
2021 Comparing Methods for Finding Search Sessions on a Specified Topic: A Double Case Study
Tessel Bogaard, Aysenur Bilgin, Jan Wielemaker, Laura Hollink, Kees Ribbens, Jacco van Ossenbruggen
TPDL3
2021 Assessing the Quality of Online Reviews Using Formal Argumentation Theory
Davide Ceolin, Giuseppe Primiero, Jan Wielemaker, Michael Soprano
ICWE3
2020 Understanding User Behavior in Digital Libraries Using the MAGUS Session Visualization Tool
Tessel Bogaard, Jan Wielemaker, Laura Hollink, Lynda Hardman, Jacco van Ossenbruggen
TPDL2
2019 Searching for Old News: User Interests and Behavior within a National Collection
abstract
Modeling user interests helps to improve system support or refine recommendations in Interactive Information Retrieval. The aim of this study is to identify user interests in different parts of an online collection and investigate the related search behavior. To do this, we propose to use the metadata of selected facets and clicked documents as features for clustering sessions identified in user logs. We evaluate the session clusters by measuring their stability over a six-month period.
Tessel Bogaard, Laura Hollink, Jan Wielemaker, Lynda Hardman, Jacco van Ossenbruggen
CHIIR3
2019 Using SWISH to Realize Interactive Web-based Tutorials for Logic-based Languages
abstract
Abstract Programming environments have evolved from purely text based to using graphical user interfaces, and now we see a move toward web-based interfaces, such as Jupyter. Web-based interfaces allow for the creation of interactive documents that consist of text and programs, as well as their output. The output can be rendered using web technology as, for example, text, tables, charts, or graphs. This approach is particularly suitable for capturing data analysis workflows and creating interactive educational material. This article describes SWISH, a web front-end for Prolog that consists of a web server implemented in SWI-Prolog and a client web application written in JavaScript. SWISH provides a web server where multiple users can manipulate and run the same material, and it can be adapted to support Prolog extensions. In this article we describe the architecture of SWISH, and describe two case studies of extensions of Prolog, namely Probabilistic Logic Programming and Logic Production System, which have used SWISH to provide tutorial sites.
Jan Wielemaker, Fabrizio Riguzzi, Robert A. Kowalski, Torbjörn Lager, Fariba Sadri, Miguel Calejo
Theory Pract. Log. Program.1
2018 sameAs.cc: The Closure of 500M owl: sameAs Statements
Wouter Beek, Joe Raad, Jan Wielemaker, Frank van Harmelen
ESWC3
2018 Lock-free atom garbage collection for multithreaded Prolog - ERRATUM
abstract
Algorithm 4 on page 960 of the above named article (Wielemaker and Harris 2016) is flawed. The issue is illustrated by algorithm 1 (supplementary figure 1). If a thread A detects the condition table too full is false it proceeds adding its atom to the table. If thread B detects the table is (now) too full it starts a resize. The resize allocates a new table and copies the atoms from the old to the new table. If thread A adds the new atom after the copy loop passes its location and before thread B activates the new table the insertion is considered successful, but the new atom is only in the deactivated old table.
Jan Wielemaker, Keri Harris
Theory Pract. Log. Program.1
2017 Accessing biological data as Prolog facts
abstract
It has been argued before that Prolog is a strong candidate for research and code development in bioinformatics and computational biology. This position has been based on both the intrinsic strengths of Prolog and recent advances in its technologies. Here we strengthen the case for the deployment and penetration of Prolog into bioinformatics, by introducing bio_db, a comprehensive and extensible system for working with biological data. Our library packages high quality, publicly available biological databases that are routinely used in tasks such as: (a) the translation between biological products and (b) product-to-product interactions which can be visualised as graphs. This library allows easy access to these data in five formats: Prolog fact files, Prolog quick load files, Berkeley DB data files, RocksDB and SQLite databases. In addition, the library introduces two innovative features that are pertinent to data analytics in general. First, on-demand downloading of prepacked data files as well as reconstruction from latest data files from the curated databases are supported. Second, by employing code hot-swapping the library delivers the data: (a) transparently to the user and (b) in the familiar format of Prolog facts.
Nicos Angelopoulos, Jan Wielemaker
PPDP2
2017 Combining information on structure and content to automatically annotate natural science spreadsheets
Martine G. de Vos, Jan Wielemaker, Hajo Rijgersberg, Guus Schreiber, Bob J. Wielinga, Jan L. Top
Int. J. Hum. Comput. Stud.2
2016 Lock-free atom garbage collection for multithreaded Prolog
abstract
Abstract The runtime system of dynamic languages such as Prolog or Lisp and their derivatives contain asymbol table, in Prolog often called theatom table. A simple dynamically resizing hash-table used to be an adequate way to implement this table. As Prolog becomes fashionable for 24 × 7 server processes we need to deal with atom garbage collection and concurrent access to the atom table. Classical lock-based implementations to ensure consistency of the atom table scale poorly and a stop-the-world approach to implement atom garbage collection quickly becomes a bottle-neck, making Prolog unsuitable for soft real-time applications. In this article we describe a novel implementation for the atom table using lock-free techniques where the atom-table remains accessible even during atom garbage collection. Relying only on CAS (Compare And Swap) and not on external libraries, the implementation is straightforward and portable.
Jan Wielemaker, Keri Harris
Theory Pract. Log. Program.1
2015 A methodology for constructing the calculation model of scientific spreadsheets
abstract
Spreadsheets models are frequently used by scientists to analyze research data. These models are typically described in a paper or a report, which serves as single source of information on the underlying research project. As the calculation workflow in these models is not made explicit, readers are not able to fully understand how the research results are calculated, and trace them back to the underlying spreadsheets. This paper proposes a methodology for semi-automatically deriving the calculation workflow underlying a set of spreadsheets. The starting point of our methodology is the cell dependency graph, representing all spreadsheet cells and connections. We automatically aggregate all cells in the graph that represent instances and duplicates of the same quantities, based on analysis of the formula syntax. Subsequently, we use a set of heuristics, incorporating knowledge on spreadsheet design, computational procedures and domain knowledge, to select those quantities, that are relevant for understanding the calculation workflow. We explain and illustrate our methodology by actually applying it on three sets of spreadsheets from existing research projects in the domains of environmental and life science. Results from these case studies show that our constructed calculation models approximate the ground truth calculation workflows, both in terms of content and size, but are not a perfect match.
Martine G. de Vos, Jan Wielemaker, Guus Schreiber, Bob J. Wielinga, Jan L. Top
K-CAP2
2014 Using Linked Data to Diversify Search Results a Case Study in Cultural Heritage
Chris Dijkshoorn, Lora Aroyo, Guus Schreiber, Jan Wielemaker, Lizzy Jongma
EKAW4
2014 LOD Laundromat: A Uniform Way of Publishing Other People's Dirty Data
Wouter Beek, Laurens Rietveld, Hamid R. Bazoobandi, Jan Wielemaker, Stefan Schlobach
ISWC (1)4
2014 Pengines: Web Logic Programming Made Easy
abstract
Abstract When developing a (web) interface for a deductive database, functionality required by the client is provided by means of HTTP handlers that wrap the logical data access predicates. These handlers are responsible for converting between client and server data representations and typically include options for paginating results. Designing the web accessible API is difficult because it is hard to predict the exact requirements of clients. Pengines changes this picture. The client provides a Prolog program that selects the required data by accessing the logical API of the server. The pengine infrastructure provides general mechanisms for converting Prolog data and handling Prolog non-determinism. The Pengines library is small (2000 lines Prolog, 150 lines JavaScript). It greatly simplifies defining an AJAX based client for a Prolog program and provides non-deterministic RPC between Prolog processes as well as interaction with Prolog engines similar to Paul Tarau's engines. Pengines are available as a standard package for SWI-Prolog 7.1
Torbjörn Lager, Jan Wielemaker
Theory Pract. Log. Program.2
2013 Knowledge representation in scientific models and theirpublications: a case study
abstract
No abstract available.
Martine G. de Vos, Willem Robert van Hage, Jan Wielemaker, Guus Schreiber
K-CAP3
2013 Integrative Functional Statistics in Logic Programming
Nicos Angelopoulos, Vítor Santos Costa, João Azevedo, Jan Wielemaker, Rui Camacho, Lodewyk F. A. Wessels
PADL4
2013 Porting and refactoring Prolog programs: the PROSYN case study
Edison Mera, Jan Wielemaker
Theory Pract. Log. Program.2
2013 Delimited continuations for prolog
abstract
Abstract Delimited continuations are a famous control primitive that originates in the functional programming world. It allows the programmer to suspend and capture the remaining part of a computation in order to resume it later. We put a new Prolog-compatible face on this primitive and specify its semantics by means of a meta-interpreter. Moreover, we establish the power of delimited continuations in Prolog with several example definitions of high-level language features. Finally, we show how to easily and effectively add delimited continuations support to the WAM.
Tom Schrijvers, Bart Demoen, Benoit Desouter, Jan Wielemaker
Theory Pract. Log. Program.4
2012 Supporting Linked Data Production for Cultural Heritage Institutes: The Amsterdam Museum Case Study
Victor de Boer, Jan Wielemaker, Judith van Gent, Michiel Hildebrand, Antoine Isaac, Jacco van Ossenbruggen, Guus Schreiber
ESWC2
2012 Coding guidelines for Prolog
abstract
Abstract Coding standards and good practices are fundamental to a disciplined approach to software projects irrespective of programing languages being employed. Prolog programing can benefit from such an approach, perhaps more than programing in other languages. Despite this, no widely accepted standards and practices seem to have emerged till now. The present paper is a first step toward filling this void: It provides immediate guidelines for code layout, naming conventions, documentation, proper use of Prolog features, program development, debugging, and testing. Presented with each guideline is its rationale and, where sensible options exist, illustrations of the relative pros and cons for each alternative. A coding standard should always be selected on a per-project basis, based on a host of issues pertinent to any given programing project; for this reason the paper goes beyond the mere provision of normative guidelines by discussing key factors and important criteria that should be taken into account when deciding on a full-fledged coding standard for the project.
Michael A. Covington, Roberto Bagnara, Richard A. O'Keefe, Jan Wielemaker, Simon Price
Theory Pract. Log. Program.4
2012 SWI-Prolog
abstract
Abstract SWI-Prolog is neither a commercial Prolog system nor a purely academic enterprise, but increasingly a community project. The core system has been shaped to its current form while being used as a tool for building research prototypes, primarily for knowledge-intensive and interactive systems. Community contributions have added several interfaces and the constraint (CLP) libraries. Commercial involvement has created the initial garbage collector, added several interfaces and two development tools: PlDoc (a literate programming documentation system) and PlUnit (a unit testing environment). In this article, we present SWI-Prolog as an integrating tool, supporting a wide range of ideas developed in the Prolog community and acting as glue between foreign resources. This article itself is the glue between technical articles on SWI-Prolog, providing context and experience in applying them over a longer period.
Jan Wielemaker, Tom Schrijvers, Markus Triska, Torbjörn Lager
Theory Pract. Log. Program.1
2011 On the Portability of Prolog Applications
Jan Wielemaker, Vítor Santos Costa
PADL1
2009 Enabling Serendipitous Search on the Web of Data Using Prolog
Jan Wielemaker
ICLP1
2008 Towards Typed Prolog
Tom Schrijvers, Vítor Santos Costa, Jan Wielemaker, Bart Demoen
ICLP3
2008 Thesaurus-Based Search in Large Heterogeneous Collections
Jan Wielemaker, Michiel Hildebrand, Jacco van Ossenbruggen, Guus Schreiber
ISWC1
2008 SWI-Prolog and the web
abstract
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.
Jan Wielemaker, Zhisheng Huang, Lourens van der Meij
Theory Pract. Log. Program.1
2008 Semantic annotation and search of cultural-heritage collections: The MultimediaN E-Culture demonstrator
Guus Schreiber, Alia Amin, Lora Aroyo, Mark van Assem, Victor de Boer, Lynda Hardman, Michiel Hildebrand, Borys Omelayenko, Jacco van Ossenbruggen, Anna Tordai, Jan Wielemaker, Bob J. Wielinga
J. Web Semant.11
2006 MultimediaN E-Culture Demonstrator
Guus Schreiber, Alia Amin, Mark van Assem, Victor de Boer, Lynda Hardman, Michiel Hildebrand, Laura Hollink, Zhisheng Huang, Janneke van Kersen, Marco de Niet, Borys Omelayenko, Jacco van Ossenbruggen, Ronny Siebes, Jos Taekema, Jan Wielemaker, Bob J. Wielinga
ISWC15
2005 An Optimised Semantic Web Query Language Implementation in Prolog
Jan Wielemaker
ICLP1
2005 Using Triples for Implementation: The Triple20 Ontology-Manipulation Tool
Jan Wielemaker, Guus Schreiber, Bob J. Wielinga
ISWC1
2004 A Method for Converting Thesauri to RDF/OWL
Mark van Assem, Maarten Menken, Guus Schreiber, Jan Wielemaker, Bob J. Wielinga
ISWC4
2003 Native Preemptive Threads in SWI-Prolog
Jan Wielemaker
ICLP1
2003 Prolog-Based Infrastructure for RDF: Scalability and Performance
Jan Wielemaker, Guus Schreiber, Bob J. Wielinga
ISWC1
2002 Interactive Indexing and Retrieval of Multimedia Content
Marcel Worring, Andrew D. Bagdanov, Jan C. van Gemert, Jan-Mark Geusebroek, Hoang Minh, Guus Schreiber, Cees Snoek, Jeroen Vendrig, Jan Wielemaker, Arnold W. M. Smeulders
SOFSEM9
2001 Building Real-Life Applications with Prolog
Jan Wielemaker
ICLP1
2001 From thesaurus to ontology
abstract
Thesauri such as the Art and Architecture Thesaurus (AAT) provide structured vocabularies for describing art objects. However, if we want to create a knowledge-rich description of an (image of an) art object, such as required by the "semantic web", thesauri turn out to provide only part of the knowledge needed. In this paper we look at problems related to capturing background knowledge for art resources. We describe a case study in which we attempt to construct an ontology for a subset of art-object descriptions, namely antique furniture, using AAT as well as metadata standards as input. We discuss the representation requirements for such an ontology as well as representational problems for our sample ontology with respect to the emerging web standards for knowledge representation (RDF, RDFS, OIL).
Bob J. Wielinga, Guus Schreiber, Jan Wielemaker, Jacobijn Sandberg
K-CAP3
1989 Separating user interface and functionality using a frame based data model
abstract
The separation between user interface and functionality found in many screen editors is generalized to handle a data model based on frames and binary relations. This paper describes a User Interface Management System (UIMS) based on the data model. The UIMS is capable of maintaining different and simultaneous representations of the same application data objects. The functionality and user interface are implemented on top of a small object oriented programming system. This allows the UIMS to be simple and independent of the graphics software and hardware as well as the data representation used by the application programs.
Jan Wielemaker, Anjo Anjewierden
UIST1
1988 StatCons: Knowledge Acquisition in a Complex Domain
Paul de Greef, Joost Breuker, Guus Schreiber, Jan Wielemaker
ECAI4