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?
The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries.
One of the most obvious examples of the semantic web is right in your search results: rich search results. Rich search results refer to a wide variety of features that appear in a Google SERP beyond just the normal search snippet of title, URL and description.
Although the RDF/XML format is still in use, other RDF serializations are now preferred by many RDF users, both because they are more human-friendly, and because some RDF graphs are not representable in RDF/XML due to restrictions on the syntax of XML QNames.
The Semantic Web is a vision about an extension of the existing World Wide Web, which provides software programs with machine-interpretable metadata of the published information and data. In other words, we add further data descriptors to otherwise existing content and data on the Web.
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.
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.
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With