Fast RDF-like graph: triple database or graph?

I have a graph data structure of type RDF, i.e. consisting of nodes (entities) that are connected by edges (properties, relationships) of different types. The user will select a node in this graph (millions of nodes, hundreds of millions of edges), and I'm looking for a quick way to display the "proximity" of the selected node (that is, one or two levels of nodes from which there is a path through a set of possibly given relations to the originally selected node) .

I did some research and came across RDF-specialized triple stores and more general graphical databases such as neo4j and allegro. Then there are also intermediate foods such as jena and sesame.

Would you recommend a triple store or graph database for efficiently querying neighboring related nodes? Do intermediaries play a role here? I understand that in each case, storing the complete graph in memory is likely to be beneficial.

Alexander

+5
source share
2 answers

I would recommend one of the RDF stores (Jena, Sesame, 4store, Virtuoso, OWLim, Oracle, etc.). Then you can simply examine the SPARQL query for your solution and try it on different systems without the need for coding for different APIs.

There are several approaches that you could take: the simplest is a simple UNION query with different paths, you can use the variable for the edge URI and add FILTER to limit it only to those that interest you.

+5

, Jena / Sesame . .

Jena TDB, B + Tree. , : SPO, POS OSP.

SPO . , : , .

TDB , , , .

, , , RDF (CBD), , , . SPARQL DESCRIBE, ( ).

, : , , RDF, RDF. RDF, , RDF. .

, .

+3

All Articles