RDFox v6.0 is here and it’s a big one! This release is landmarked by ground-breaking features including the new high availability setup and a total reimagining of the handling of named graphs. These features alone offer the opportunity for truly cutting-edge solutions, but when combined with the myriad of other improvements and the blistering capabilities of RDFox already in place, they allow you to step ahead of the curve.
In this article we explore the major features included in this release. For further detail please see the release notes.
By far the most exciting new feature in RDFox v6.0 is high availability—the ability to replicate changes between several running RDFox instances. Combined with deployment across multiple availability zones ensures the system as a whole remains live in the event of failure of an individual instance or data center. By hosting replica instances of RDFox that can communicate with each other (via a shared file system), service stability can be preserved.
"The High Availability configuration RDFox has the potential to solve a real problem for us as a company with a fully on-cloud tech stack and ambitions to scale globally. It is much better aligned than a traditional approach with the horizontally scalable architecture we are using."
- Dr Padraig Alton, Lead Data Scientist, Apolitical
RDFox high availability deployments are leaderless, meaning all instances are equivalent without one controlling, or ‘leading’, the others. All instances accept writes—providing the opportunity to satisfy a wide range of exciting use cases. Deployments are also dynamic, with instances able to be added or removed as necessary to support the application as factors change. Finally, and crucially, RDFox high availability is eventually consistent, ensuring with certainty that updates from one instance will become visible on all others.
This new feature of RDFox presents such a fundamental advance that the newly available possibilities for our clients are endless. The cutting-edge solutions that are now within arm’s reach offer transformative benefits to organisations across the spectrum, and we’re eager to see what you do with them.
“RDFox’s high availability is a powerful feature that enables automatic replication between RDFox instances.”
- Martin Dalgaard, Data Scientist, Grundfos
High availability is an advanced feature, so we recommend reading over Section 13.2.2. ‘file-sequence persistence’ in the documentation carefully for the recommended setup and deployment arrangements. Please contact us directly if you are interested in taking it further as, like always, we would be delighted to support you along your journey.
“We’d like to say a huge thank you to the users who had early access and provided feedback during the development of this and other features for this release. Your support and dedication is greatly appreciated here at OST as we build RDFox for you.”
- Peter Crocker, CEO and Co-founder OST.
RDFox v6.0 drastically improves the handling of names graphs. This game changing update allows users to utilise an unlimited number of named graphs while also improving query performance and memory usage. In addition to these advancements, RDFox will now accept arbitrary RDF terms, such as strings or date-times, as graph names.
Where previously each named graph was stored in an isolated tuple table, they now all sit in a single tuple table of arity four: the ‘Quads’ table. This reduces memory overheads per named graph and removes the practical limits on their number. Now a quad component, the previous restrictions on graph names no longer apply.
Ultimately, this change gives RDFox users even more freedom in the solutions they create by providing further flexibility and speed, opening the door to yet another series of innovative applications.
As of v6.0, prefixes will be stored in the data store as opposed to shell instances as was previously the case. This streamlines work for both individual users and teams collaborating on a single store.
The practical benefits of this change are twofold. The first aids users writing rules, axioms, and queries, as they no longer need to repeatedly specify their prefixes in each file and can instead act once to add them to the data store. The second assists teams working together on the same data store. Now, for the first time and with no extra effort, RDFox will ensure each user has access to the same set of prefixes, avoiding clashes and confusion.
The shell commands ‘base’, ‘prefix’, and ‘prefixes’ have been repurposed so that their corresponding properties are now added to the data store instead of the shell instance. To import the prefixes defined in a file, append the parameter ‘+p’ to the import command:
To accommodate these changes, the RDFox web console has also been upgraded. From within the console itself you can now opt to ‘manage prefixes’ allowing you to edit and update the prefixes in the data store. The option to add prefixes defined in files has also been included in the import dialog. To further support this functionality, the defined prefixes are viewable at the top of the SPARQL editor to be referenced in queries and their results.
The final change to prefixes is an ease-of-use improvement. From now on, new data stores will be prepopulated with a set of useful prefixes. Many of these stem from the W3C standards whereas the others are frequently used among the wider community or belong to the RDFox domain.
Up until RDFox v5.7 the remote shell was experimental but, as of v6.0, the remote shell is fully supported, allowing users to access RDFox from afar. Even during its experimental phase this feature proved to be incredibly useful for those of our clients testing it, providing a convenient access point to their RDFox instances. Moreover, the remote shell enables multiple users to access a shared server simultaneously, collaborating smoothly in real-time.
Remotely connecting to an RDFox instance is very straightforward. Simply execute the following command in a new terminal:
As with High Availability, we would again like to thank all our customers who were involved in the development of this feature. As always, your feedback and support are invaluable.
In line with our ongoing commitment to being the fastest graph database on the market, we have made further improvements to the RDFox engine. Having secured another patent for semantic tech since the last release, we will continue to innovate and invent new ways to extract every last bit of performance possible.
Along with the improvements to load times and query performance, we have also fixed a number of small bugs in order to provide the highest standard product that we can.
As RDFox becomes more and more advanced, we’re increasingly aware that the value we provide to our customers is far from just a product. We’re incredibly proud of the individual support our knowledge engineers offer, but sometimes a call isn’t what you’re after. That’s why, alongside the release, we have also updated our documentation.
In addition to refreshing the docs, we have introduced a new and improved search capability. You can now search for phrases or keywords to find the exact paragraph in which they’re mentioned—linking to the relevant section and ultimately making it much easier to quickly address practical questions.
RDFox v6.0 takes the product from strength to strength, with monumental features like high availability being introduced together with sweeping improvements to performance and memory consumption for named graphs. With these, and all the foundational features that have come before, RDFox stands alone as the most advanced and most performant graph database available today—a powerful solution for even the most complex data-centric problems.
If you haven’t already, download RDFox v6.0 today and start solving with the latest in graph technology.
New to RDFox? Get yourself a free trial now and take the first steps in your graph journey.