Graphs naturally represent Linked Data and implementations of graph-based tasks are required not only for data consumption, but also for mining patterns among links. Despite efficient graph-based algorithms and engines have been implemented, there is no clear understanding of how these solutions may behave on Linked Data

In a twist that has inevitable written all over it, the database industry has at last begun to take heed of the power of consumerization. The once mighty RDBMS is now obliged to make room for an emerging and increasingly important partner in the data center: the graph database. Twitter’s doing it, Facebook’s doing it, even online dating sites are doing it; what they are doing is tracing relationship graphs. After all, social is social, and ultimately it’s all about relationships.

There are triplestores (semantic databases), and there are general-purpose graph databases.

Both are based on the similar concepts of linking one "item" to another via a relationship. Triplestores support RDF and are queried by SPARQL, but such add-ons can be (and are) implemented ontop of general-purpose graph databases as well.

What is the fundamental difference that would make you prefer a semantic db / triplestore to a general purpose graph database like neo4j?

Graph Databases vs. RDF Triple Stores
To summarize, both graph databases and triple stores are designed to store linked data. RDF is a specific kind of linked data that is queried using SPARQL, so it is fair to say that RDF triple stores are a kind of graph database. But, there are some subtle but important differences that are described below.How They Are Similar
· Graph databases and rdf triple stores focus on the relationships between the data, often referred to as “linked data.” Data points are called nodes, and the relationship between one data point and another is called an edge.
· A web of nodes and edges can be put together into interesting visualizations—a defining characteristic of graph databases.How They Are Different
· Graph databases are more versatile with query languages: Neo4J can run an RDF triple store and use SPARQL but generally focuses on its own proprietary language, Cypher. Other graph databases support G, GraphLog, GOOD, SoSQL, BiQL, SNQL, and more. RDF triple stores only use SPARQL as the query language.
· Graph databases can store various types of graphs, including undirected graphs, weighted graphs, hypergraphs, etc. RDF triple stores focus solely on storing rows of RDF triples.
· Graph databases are node, or property, centric whereas RDF triple stores are edge-centric. RDF triple stores are really just a list of graph edges, many of which are 'properties' of a node and not critical to the graph structure itself.
· Graph databases are better optimized for graph traversals (degrees of separation or shortest path algorithms). With RDF triple stores, the cost of traversing an edge tends to be logarithmic.
· RDF triple stores also provide inferences on data but graph databases do not (e.g., if humans are a subclass of mammals and man is a subclass of humans, then it can be inferred that man is a subclass of mammals).
· RDF triple stores are more synonymous with the “semantic web” and the standardized universe of knowledge being stored as RDF triples on DBpedia and other sources whereas graph databases are seen as more pragmatic rather than academic.