Simon --

You wrote...
SWI Prolog can, in theory, support 20M triples and also has OWL support.

From a brief scan of the SWI paper [1] that you mentioned, they seem to conclude that Prolog indexing is insufficient.  They opted for indexing in an extension written in C, rather than trying to support the required performance with Prolog alone.

In case you have time to look at it, we have yet another tool for 20 million triples.  It tries to support lightweight English with highly declarative inferencing that generates and executes SQL over networked databases.  Since RDBMSs excel at indexing, this seems like a good approach.  Does anyone [on the lists] have a large number of triples in an RDBMS they can grant access to [2] ?  We would like to see if query performance is as good as one would hope, notwithstanding the possible drawbacks described in section 3.3 of [1].

The Tool is called Internet Business Logic, and it's live, online at with a number of SW and other demo examples, presentations, tutorials, papers, FAQs and such.

The editor and user interface is a browser.  Non-commercial use is free.

Thanks in advance for any comments, and special thanks in advance for any offers of network access [2] to large triple stores in mySQL or similar.           -- Adrian


[2] Access would be via SQL queries sent to a listener socket.  There would be no need to install any software on the RDBMS end of the link.

Adrian Walker
Reengineering LLC
PO Box 1412
CT 06011-1412 USA

Phone: USA 860 583 9677
Cell:    USA  860 830 2085
Fax:    USA  860 314 1029


Charles McCathieNevile wrote:
Hi folks,
on another list someone asked what tools would be good for handling an
OWL ontology of about 25,000 terms, with around 20 million triples. There
SWI Prolog can, in theory, support 20M triples and also has OWL support.
"[SWI prolog] can handle the 3 million triple target with approximately 300 Mb. of memory and scales to approximately 40 million triples on fully equipped 32bit hardware."