In Friday's piece, I made a statement that it seems made people believe I wanted to eliminate the idea of ontologies in the Semantic Web. Again, for those of you that are not experts in the Semantic Web, that would be most of you, ontologies are like a categorization system for the information in your database. It is a little like del.ici.ous tags but much much more rigorous and complicated. In any case the intent of my original piece was not to suggest we eliminate ontologies and so I want to clarify.
what I said was:
First, all the stuff that seems too difficult and not immediately beneficial must be stripped away from the core concept and message. This means, for the basic message, ontologies must go. We must stop talking about them because they just confuse people. And they are not needed to get the most important benefits.
The thing I was trying to get across was the "for the basic message" part. The idea that I am proposing is a blend of marketing and product marketing/positioning, perhaps with a little bit of product design tweaking, though that may not be necessary.
The main point here is that by simplifying the basic message of what the Graph/Semantic Web is, it will spur adoption. The Wikipedia page for the semantic web is a mess. It is unreadable by mere mortals. And I suspect strongly that almost no one outside the tiny Semantic Web community knows what it is.
So my point is that by creating a *baseline* concept that is properly renamed to the Graph Web, that eliminates stuff that people can't understand in five minutes of conversation, we will be allowing the concepts promoted as "Semantic Web" the full opportunity to flourish. OWL, the semantic web ontology language, and ontologies need graph based data. Graph based data does not need OWL and ontologies. And so reformulating the baseline concept of the Semantic Web to being about graph data on the web is a much easier to understand initial concept.
This does not mean killing ontologies. What it does mean is that you present an initial package of ideas as a starting point of understanding that does not include ontologies except perhaps in some really trivial or simple way. Once people get the baseline concept they can graduate to a higher level of sophistication, which includes ontologies in a more substantive way.
Broadly speaking, the idea is that when you are creating new concepts, you can't force everyone to understand and accept all of them at the same time -- that is if you are looking for widespread adoption. For widespread adoption you need to create layers, or concentric rings, or whatever metaphor you want to use. You have to give people simple bite size chunks that can be usable and useful without understanding anything else. You can't take a first grader and start teaching them assembly language. You have to do it in phases.
In my last post I got a bit of feedback from people saying that we *need* ontologies to some things. And I don't deny that. Similarly, we need chemotherapy too, but only for people with cancer. It would not be prudent to suggest that everyone receive a course of such treatment just for good measure. On the other hand we do suggest everyone eat their green vegetables, brush their teeth, and exercise regularly. Some things are for the many, and some for the few.
It appears that James Hendler, father of the Semantic Web ontology system, is doing some very interesting work regarding using ontologies in very simple ways, which may fit nicely into my stripped down initial world view a baseline "Graph Web" view of the world. I do not know for sure whether I would consider it simplified enough, as I have not actually read his new book, Semantic Web for the Working Ontologist. But certainly, from talking to him, that sounds like the intent.
Right now, the positioning of the Semantic Web is not clear. The name is not clear. The concepts are not clear. The purpose is not clear. This is a shame because with a focus on the mindset and needs of the regular work-a-day developer, this stuff could be very appealing. And with layering, it can be easily understood. But right now the only people I know that are really jazzed about ontologies have a PhD, after their name. And so if the goal, as I think it should be, is ushering in the next wave of the web, call it 3.0, the excitement has to extend to people with a few less letters after their name.

11 comments:
I could not agree with you more, the purpose of semantic web or whatever it is to be called is to express things closer to the way people express themselves and think (We had millions of years to develop our semantic machine - the brain). Thus success of this whole undertaking must be for people on the street to be able to use semantics just like Excel. Person from the street understands semantics (incredibly well actually-better than Excel) - he knows the meaning of things he is talking about (unless drunk)! Make it easy for him to express himself and we have a good solution. Thus here we talk primarily about forms of expression. All the RDF OWL etc stuff is too obscure. For wide spread adoption one will have to be able to explain semantics to children. So, one must find such accessible language and a teaching method.
Pawel Lubczonok (ThoughtExpress)
There are a few things that are going to make the semantic web easier to understand. For one there is an excellent book out by Dean Allemang and Jim Hendler named "Semantic Web for the Working Ontologist" which though it has a funky title - but that did not stop Dean attracting over 300 attendees at his JavaOne presentaion a month ago, and it was on the last day on Friday afternoon - make the point very clearly that RDF is very well layered. So if you want to just work at the data layer, RDF is all you need. This is what you mean by the graph layer I think. You can then help clarify your information one little step at a time. RDFS is very easy to understand, and by chapter 2 of the book I think that should be clear.
So try that book. It is one of the first books on the subject that does not start by trying to explain rdf/xml.
bblfish,
I guess you didnt find this piece interesting enough to read to the end where I discuss this book :)
The 'many' don't need to understand ontologies, but the semantic web is not really useful unless you provide some means of structure to it.
RDF without RDFS or OWL is simply another schema for expressing data ("with benefits").
I think that if you don't present RDFS and OWL at the start, you kinda miss the whole Semantic Web idea.
I agree that from a more pedagogical point of view, it's useful to explain it step by step. So you have N3 notation and RDFS which are simpler to understand. You can start with OWL Lite and move to more complex OWL later.
The masses don't need to understand the technical aspects of the semantic web in order to use it, and that includes programmers. This is like saying that in order to use MS-Office, I need to know how to program with the Windows API.
Even as developers you don't always know all the technical details of the platform you're working on - and you can still achieve good results.
imo, the solution lies in better tooling and developer frameworks; personally I think they will come.
Oh sorry Hank I was really busy writing up a blog on how to revolutionize IDE's with linked data.
Clearly I should have. You say:
But right now the only people I know that are really jazzed about ontologies have a PhD, after their name.
So I should have a phd? Nice.
Hey guys, just read the first few chapters in Dean's book, and you'll be able to pass yourself off as a phd. :-)
bblfish,
But I don't know you so that doesn't count :)
But I don't know you so that doesn't count :)
Ah yes... :-/
...no problem though. We should fix this. Contact me via skype, and we'll link up our foaf files. My details are on my home page.
So what's the benefit of the rename? "Graph Web" doesn't convey any more meaning, instead I'd argue that it is actually a more confusing term as putting the word "Graph" before "Web" doesn't add any extra meaning (for me).
Now, don't get be wrong, I agree with what you are saying, trying to get a grasp of what is the semantic web has taken me over a month and I am still only scratching the surface. To me it appears that there's simply too much research and not enough product.
It's all very well and good to rescope and rename but until there are actual concrete implementations that people can copy (after all if a developer can't copy and paste it they won't use it) then the naming argument must take second place.
Hank,
In your first piece you mentioned that your web service, Kloudshare, was planning to implement something that you, after the fact, found to be strikingly similar to the concepts behind the Semantic Web.
> Kloudshare is a graph database platform implemented as a web service. The concept of a graph database is that you can create data objects of any type and connect them to other objects at will. Within this structure you can easily query the graph for items of a particular type or items that are connected to items of a particular type that have a particular characteristic, etc.
> When we started developing Kloudshare, we had no idea that it at all related to the work that the semantic web community was doing.
http://whydoeseverythingsuck.com/2008/06/memo-to-semantic-web-drop-semantic-and.html
The part that I honed in on immediately was: "The concept of a graph database is that you can create data objects of any type and connect them to other objects at will." That is the fundamental basis of the web itself.
URIs (Universal Resource Identifier) represent resources (objects, HTML, XML, SVG, ..) which contain hyperlinks that point to other resources, independent of physical location (distributed), and all talking the same language, HTTP. From what little you've shared about your service, it seems to have taken this concept, chained to it a lead weight in the form of centralization, and swapped RDF+OWL+SPARQL with proprietary, internal equivalents (FBML, FQL, ahem..).
> The main point here is that by simplifying the basic message of what the Graph/Semantic Web is, it will spur adoption. The Wikipedia page for the semantic web is a mess. It is unreadable by mere mortals.
I wonder what position a mere mortal might have taken if he/she were to have picked up a book 20 years ago that read like an encyclopedia page on the topics of HTTP, URI, & HTML. You see, the web is nothing more than these small parts loosely coupled. Loosely coupled meaning that I can run an HTTP server on an IP only sending GETs to the root (e.g. http://18.18.18.18/) using bytecode as a data format. Loosely coupled meaning that I can possess an entire website on my local disk without any HTTP or live web for that matter.
As for URI, I sure hope you're not considering ridding the URI in exchange for a whole bunch of http://kloudhsare.net/?92384729034203948230947234 objects. http://toyota.com/prius makes so much sense.
I bought a Prius.
We've got so many good things going for us right now. The Semantic Web is simply the current Web + semantics. The current web is already a graph. As for people groking the new concepts -- the problem is that we still haven't spent the time to understand the Web (HTTP+URI+HTML) on a fundamental basis. Half the web has been Dreame[weave]d into existence. Once we understand that we're simply creating objects/resources at abstract pseudolocations the next step of describing these resources semantically makes for perfect logic. :)
One step at a time and with small parts loosely coupled.
In regards to simplification and practicality, what's your position on Microformats?
Don't get me wrong. All good technologies require devil's advocates. However, I might wonder if your work in Kloudshare might bias your opinion toward the open work already in progress.
A graph is a form of ontology. You say toma(i)to, I say toma(h)to. I agree with you that simplicity is best in it's (the "semantic web's") inception, that's why development around ontologies has become so rigid, and to some, so boring. If it wasn't rigid, and if we did change it's name for marketing et al, it would only be more confusing for the rest of us. Look at Microsoft TCP/IP, or the Starbucks Caramel Machiatto - neither of which are the standard de facto.
As a developer, I can tell you ontologies aren't obscure and difficult to understand. They're a lot like object oriented design, relational data models, directory trees, and mind maps. These terms should all be very familiar to the typical developer.
As well, I think a lot of people confuse the idea behind the semantic web. The biggest gain would be to enable computers to better work for us through methods of better organization and categorization in which machines can understand. We would do this by helping them identify relationships. The concept of "graph web" sounds like the same thing - as you will still need to develop the graphing algorithms (*ahem* through the use of ontologies) to identify relationships. Data is data, putting a different face on it won't get the ball rolling.
It might sell, but hey, so did pet rocks.
A friend is excited about RDF and the semantic web. I did the base level glance by watching a couple videos, reading a couple white papers, and looking at a few blogs. Yours is the only source to admit there might be a problem.
As far a I can grasp:
* Common schema are useful!
* All the usual problems of common schema still exist: evolution, migration, standards fights.
* It would be nice to have a killer app for the symantic web.
Good luck on making the wikipedia page readable.
Post a Comment