7

Vague, uninformed questions:

1: Why do nearly 100% of app developers, app development communities and literature (books, tutorials, etc) take for-granted that you want to express data using either a relational database or a key-value store?

2: Why isn't everybody using "Triple" data structures?

3: Aren't Triples applicable to every problem that relational databses and key-value stores, and aren't Triples at least as easy to work with in every case?

themirror
  • 8,937
  • 6
  • 38
  • 71

3 Answers3

9

Triples can represent any other data structure. But this doesn't necessarily make them easier to work with. If your problem is table-shaped, then a table data structure will work better. With a graph data structure, you need to think about how to make up tables from triples, and that's extra work.

Solving most problems (especially simple problems where the shape of your data is predictable) doesn't require the flexibility of a graph data structure.

cygri
  • 9,102
  • 1
  • 22
  • 47
3
  1. Most developers use relational databases and/or key/value stores because they're well known, widely taught, easily available, and adequate to most of what most developers care about doing.
  2. Most developers see little (if any) reason to use triples, except (possibly) for a few special purposes (and even the latter is somewhat unusual).
  3. No -- triples aren't particularly easy to use when most people don't understand them or how to use them. Even those developers who do understand them usually don't care about what they provide anyway.

More generally, I think quite a few developers quickly get lost in the inter-tangled mess of RDF, OWL, SKOS, ontologies, reasoning engines, etc. For somebody who's thinking: "but I just want the user's order history" (or whatever), it's all just a bit too much to take in, deal with, etc.

Jerry Coffin
  • 437,173
  • 71
  • 570
  • 1,035
2

I have asked myself the exact same question before. Usually people cite complexity as the problem. That is really a bad habit, because the longer we leave the problem, the worse it will get. Semantic Web is a sophisticated solution to a complex problem. It doesn't get any easier. I think also that making comparisons of simplicity to RDBMS is naive. Most developers nowadays are familiar with ORM and work with abstracted persistence, some never aware of the persistence mechanism. The persistence frameworks for Semantic Web (ORDFM) are not typically as sophisticated or evolved. Having said that, a lot of organisations are moving away from RDBMS and investing in NoSQL solutions of which RDF and SPARQL are in my opinion the best candidates.

A great case study I always point out when people talk about Semantic Web being to complex is the Bart van Leeuwen story:

http://semtechbizsf2012.semanticweb.com/sessionPop.cfm?confid=65&proposalid=4590

If a genuine full time firefighter (who puts out real fires) can use SPARQL and RDF in place of databases and proprietary formats to solve a genuine problem (data accessibility in emergency service), then there is little excuse for the rest of us not to. My point is that its not the technology that is the barrier, it is something else.

William Greenly
  • 3,684
  • 17
  • 18