Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

RDF, Triples, and Semantic Web in everyday apps

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?

like image 388
themirror Avatar asked May 02 '12 16:05

themirror


People also ask

What are the Semantic Web applications?

The Semantic Web provides a common framework that allows data to be shared and reused across application, enterprise, and community boundaries.

What is the best example of the Semantic Web?

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.

Is RDF still used?

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.

What is Semantic Web explain with an example?

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.


3 Answers

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.

like image 142
cygri Avatar answered Sep 21 '22 01:09

cygri


  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.

like image 29
Jerry Coffin Avatar answered Sep 19 '22 01:09

Jerry Coffin


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.

like image 32
William Greenly Avatar answered Sep 22 '22 01:09

William Greenly