What advantages do RDF storages have against other NoSQL storages?
The one advantage I can see is inference engines integration. But I'm not sure, may be there are other NoSQL storages types with this "feature" enabled.
If you are dealing with data in RDF format, it's better to have an RDF triple/quad store. You will not need to worry about dealing with parsing different serializations, IRIs, encoding IRIs, building your own indexes, implementing a SPARQL query engine, etc.
NoSQL storage systems tend to be key-value stores and have very simple (but hugely scalable) ways to retrieve your data (i.e. direct access or parallel scan (see: HBase)) with limited support for indexes.
Personally, I don't see RDF triple/quad store and NoSQL as two opposed communities/technologies/trends.
Indeed, they might work well together, for example (as inspiration):
I would like to see more RDF stored in HBase :-)
Without extolling too much the virtues of RDF in general, I think the short of it is that RDF database systems are the only standardized NoSQL solutions available at the moment, providing several key advantages compared to run-of-the-mill NoSQL database systems:
From the preceding points it follows that RDF-based NoSQL solutions enjoy concrete advantages such as:
Now, there are, of course, numerous other benefits to RDF itself, such as those relating to publishing and using data on the Linked Data web, but they go somewhat beyond the scope of any attempted "apples to apples, oranges to oranges" comparison to other NoSQL solutions.
answered 16 Apr '10, 18:48
One difference between NoSQL and RDF stores that I see is that the former don't provide for searching or for joins. RDF stores do both but share the NoSQL benefit of schemaless data.
answered 16 Apr '10, 20:17
Good answers here, also wanted to add that some RDF stores will provide a SPARQL query interface that allows for declerative queries into the RDF data model, without this there will be a unnessessary performance overhead converting between different data models. To be more precise, if you use a object-oriented API to access the storage you are doing unnessessary convertions between a imperative query and a declerative one. This is because SPARQL and object-oriented programming are two very different programming paradigms; respectively the Declarative paradigm and the Imperative paradigm. Where a declerative query is specified by "What you want to achieve", the imperative is specified by "How you want to achieve it". Thus, a simple API call may result in tens-, hundreds-, or even thousands of often tiny declerative queries to convert between the paradigms. If performance is important for you then you should perhaps take this into consideration.
: http://en.wikipedia.org/wiki/Programming_paradigm Programming Paradigm
answered 19 Apr '10, 08:45