4store

Frequently Asked Questions

A bit bare at the moment, but we'll update this based on mailing list and IRC conversations.

Q: Why use 4store?
There are many other RDF stores available, but 4store is one of the few that has been proven in a secure, production enterprise environment. It occupies the “Big Dumb Triplestore” space, with few features, but good performance, and being very simple to use, once installed.
4store was designed to handle loads of 1GT and up, stored on small clusters of generic multi-core 64bit x86 servers, but is also capable of handling smaller datasets running on a single server.
Q: How many triples can 4store hold?
It really depends on how complex the data is, and how fast you want it to be.
In Garlik, the largest production system we've run is a cluster of 9 machines, with 8GB of RAM each, holding 15GT in total. At that size performance isn't at it's peak, but it was more than adequate for our application. With more RAM it would have run at full speed.
Due to the storage algorithms used there is the possibility of hash collisions are large sizes, the risk becomes significiant as the number of unique resources (c.f. 4s-size) approaches 10 billion, this is typically around the 50-70GT mark.
Q: Why did Garlik decide to release 4store under an Open Source licence?
Though still very capable, 4store is no longer Garlik's primary RDF store. It still works well in scales up to around 10 billion triples, and has a sophisitacted query optimiser by SPARQL standards. We would like to make RDF deployments in large organisations and coporate environments easier, so to that end we decided to release 4store under the GPL licence.
The replacement for 4store is called 5store, it's not available under a open source licence, but we are willing to commercially licence it to 3rd parties.
Q: What software do I need?
It's easiest to install on Linux systems, we recommend CentOS 5 or newer, RedHat Enterprise 5+, or Fedora Core. But it's known to work fine on Ubuntu, Debian and Gentoo distributions. We only have experience of running it on RedHat derived systems though.
Other than things provided by the OS (Ubuntu has Raptor and Rasqal as debs), you'll need Dave Beckett's Raptor and Rasqal libraries.
Q: I get “ld: duplicate symbol _g_bit_nth_lsf” when trying to build backend.o and server.o on Mac OS X
This is due to a bug in GLib, you can fix it by replacing the block of macros that refer to G_INLINE_FUNC with:
#define G_INLINE_FUNC static inline
in .../glib-2.0/glib/gutils.h
Q: My build fails with a compiler error concerning the symbol 'wrong_glib_headers' e.g. results.c:27: error: size of array ‘wrong_glib_headers’ is too large
This indicates that you are trying to use the 32-bit glib2 headers to compile 4store against 64-bit libraries. Check that you have the 64-bit development package for glib2 installed, and that your PKG_CONFIG_PATH is set appropriately.

Table of Contents