4store is an efficient, scalable and stable RDF database.
C HTML Shell JavaScript Perl CSS Other
Latest commit fe34829 Mar 28, 2017 @swh swh committed on GitHub Merge pull request #153 from berezovskyi/b147-travis
Add Travis build config
Failed to load latest commit information.
app-aux Changes from last release Jul 23, 2012
data functional test for group with join combination that makes binding _o… Mar 28, 2012
src Merge pull request #136 from jen140/jen140-patch-1 Apr 20, 2016
tests Fix parser symbol / function map for STRBEFORE(), and updated tests Sep 11, 2015
website added wayback machine download of 4store.org Apr 6, 2016
.gitignore Merge ncbo patch for (close #98) Dec 30, 2012
.travis.yml Remove 'make get-deps' instruction Mar 27, 2017
4store-0.pc.in Removed excessive line from the .pc.in file Mar 30, 2011
AUTHORS Patch from Josef Nygrin which adds &output= support to POST query req… Sep 5, 2012
CHANGELOG.md Update changelog Mar 27, 2017
COPYING initial public commit of 4store Jul 13, 2009
Makefile.am Add missing test data file to tarball Jul 9, 2012
README.md Update README Mar 27, 2017
autogen.sh Merge ncbo patch for (close #98) Dec 30, 2012
configure.ac back out nonessential changes from 2b2338b Aug 1, 2014
make-tarball.sh Replace /bin/bash in shebangs with /usr/bin/env bash Oct 29, 2012



4store is an efficient, scalable and stable RDF database.

4store was designed by Steve Harris and developed at Garlik to underpin their Semantic Web applications. It has been providing the base platform for around 3 years. At times holding and running queries over databases of 15GT, supporting a Web application used by thousands of people.

Getting started

In this section:

  1. Installing prerequisites.
  2. Installing 4store.
  3. Running 4store.
  4. Installing frontend tools only.
  5. Other installation hints.

Installing prerequisites

To install Raptor (RDF parser) and Rasqal (SPARQL parser):

# install a 64-bit raptor from freshly extracted source
./configure --libdir=/usr/local/lib64 && make
sudo make install

# similarly for 64-bit rasqal
./configure "--enable-query-languages=laqrs sparql rdql" \
 --libdir=/usr/local/lib64 && make
sudo make install

# ensure PKG_CONFIG_PATH is set correctly
# ensure /etc/ld.so.conf.d/ includes /usr/local/lib64
sudo ldconfig

Installing 4store

make install

Running 4store

/usr/local/bin/4s-boss -D

Installing frontend tools only

To install just the frontend tools on non-cluster frontends:

# pre-requisites for installing the frontend tools
yum install pcre-devel avahi avahi-tools avahi-devel

# src/common
(cd src/common && make)

# src/frontend
(cd src/frontend && make && make install)

Other installation hints

Make sure /var/lib/4store/ exists (in a cluster, it only needs to exist on backend nodes) and that the user or users who will create new KBs have permission to write to this directory.

For clusters (or to test cluster tools on a single machine) the frontend must have a file /etc/4s-cluster, which lists all machines in the cluster.

To avoid problems running out of Avahi DBUS connections, modify /etc/dbus-1/system.d/avahi-dbus.conf to:

  • Increase max_connections_per_user to 200 or so
  • Increase max_match_rules_per_connection to 512 or so (optional)