views:

207

answers:

3

I've been using OpenLink Virtuoso as an RDF store for some time now and although it's great with large data, I'm not satisfied with the graph traversal performance using SPARQL. Recently I've heard a lot about Neo4j's traversal performance and thought it's worth a try. So, for the purpose of having a large RDF store with good traversal performance, is it better to switch to Neo4j ?

I have no idea about Neo4j's performance with large data and well, the RDF/SPARQL part of Neo4j doesn't look that mature. Thanks for your time.

+1  A: 

Hi

Can you please provide more information in the graph traversal performance issue being encountered with Virtuoso, such that we can possibly offer advise on how to improve this. Please also provide the version of Virtuoso being used ?

Best Regards

Hugh Williams

OpenLink Software

hwilliams
Hi Hugh,I'm using 6.01.3127 (Opensource version) on an Ubuntu box. Actually, my observation with Virtuoso is not based on numbers, just my personal sense. The graph was loaded with the latest DBPedia dataset (3.5.1) and then queries were made on the SPARQL endpoint via cURL bindings in PHP (locally). I implemented a simplistic and classic breadth-first search with the goal of finding the length of the shortest path between 2 nodes.So what do you suggest ? Thanks for your time.
parsa28
A: 

I'd like to see the source code and data and configuration files before providing any hints. It's not uncommon to get 500x performance difference due to trivia like a missing index or a config setting. Could you please provide more details, maybe via Virtuoso Users ( [email protected] ) mail list?

Ivan Mikhailov
+1  A: 

Virtuoso "Transitivity in SPARQL" would be the recommended method for graph traversal. We also have a tutorial on Transitivity providing some sample queries. Live example queries against our 17 billion triples LOD cloud and 500 million triples URIBurner instances are also available. The following blog post on Virtuoso Transitivity and Graphs for SQL would also make interesting reading ...

hwilliams
Thanks a lot, I'm going to jump on that. And one more question comes to my mind, how does querying over cURL reduce performance in comparison to ODBC or JDBC ?
parsa28