WiseKG

Balanced Access to Web Knowledge Graphs

Abstract

Research paper

SPARQL query services that balance processing between clients and servers become more and more essential to handle the increasing load for open and decentralized knowledge graphs on the Web. To this end, Linked Data Fragments (LDF) have introduced a foundational framework that has sparked research exploring a spectrum of potential Web querying interfaces in between server-side query processing via SPARQL endpoints and client-side query processing of data dumps. Current proposals in between typically suffer from imbalanced load on either the client or the server. In this paper, to the best of our knowledge, we present the first work that combines both client-side and server-side query optimization techniques in a truly dynamic fashion: we introduce WiseKG, a system that employs a cost model that dynamically delegates the load between servers and clients by combining client-side processing of shipped partitions with efficient server-side processing of star-shaped sub-queries, based on current server workload and client capabilities. Our experiments show that WiseKG significantly outperforms state-of-the-art solutions in terms of average total query execution time per client, while at the same time decreasing network traffic and increasing server-side availability.

CONFERENCE PRESENTATION

EXPERIMENTS

We ran our experiments on a server with 128 vCPU cores at 2.5GHz, 64KB L1 cache, 512KB L2 cache and 8192KB L3 cache each, and 2TB RAM, and a server with 32 3GHz vCPU cores. We ran up to 128 clients concurrently.

We have the following metrics: We use WatDiv and DBpedia for data and queries for tests.

Number of Timeouts for WatDiv

Workload Time for WatDiv

Throughput (queries per minute)

Execution time (DBpedia)

Watdiv-btt L1-L5

Watdiv-btt S1-S7

Watdiv-btt F1-F5

Watdiv-btt C1-C3

Avg. Workload time

CPU Usage

Requests per query

Data transfer

Number of Requests (128 clients WatDiv)

Number of Transferred Bytes (128 clients WatDiv)

Server CPU Usage

INSTALLATION

Requirements

Java 8 or newer, Jetty server.

Installation

To install WiseKG or run experiments with WiseKG, please follow the instructions on our GitHub.

DOWNLOADS

  • Download the executables or view the sources from our GitHub.