“If HTML and the Web made all the online documents look like one huge book, RDF, schema, and inference languages will make all the data in the world look like one huge database.” – Tim Berners-Lee, Weaving the Web, 1999
The semantic web defined (not)
The W3C defines it as “a common framework that allows data to be shared and reused across application, enterprise, and community boundaries”.
However, in common usage, the term “semantic web” can mean many things. The word can mean putting data (not just human-readable text) on the web in standardized formats for the sake of interoperability. It can mean making logical statements in a machine-readable fashion. It can mean technologies to do stuff with machine-readable statements (for example, perform logical inference). It can mean representing MetaData in a standard, formal way. It can mean the associated problems of representing, creating, maintaining, and merging ontologies.
It can mean a particular set of technologies pursued by the W3C for these purposes, or it can just mean these goals in general.
These are all related to one another. Logical statements are a specific kind of data; but on the other hand, any data can be represented by logical statements (“item 1 is 7; item 2 is 2.34, etc..”). Meta-data is a special type of data, and once again, you can represent meta-data by logical statements. The problems of how to represent logical statements in a machine-readable way and of how to use them once they are there are obviously related. Finally, when you start trying to make applications which use logical statements or meta-data, you often find yourself needing to use ontologies.
The following technologies are often associated with the semantic web:
The semantic web and logical inference
Logical inference using the currently proposed technologies is theoretically linked to DescriptionLogics?.
Semantic Web vs semantic web
There are two things:
- Semantic Web – aka “Capital S semantic web” – a particular collection of technologies originating from the W3C.
- semantic web – aka “little S semantic web” – the network of markups and technologies coming up around the web.
ClayShirky, a famous Internet guy, wrote about the semantic web in The Semantic Web, Syllogisms, and Worldview, insisting that it was doomed to fail.
- After 50 years of work, the performance of machines designed to think about the world the way humans do has remained, to put it politely, sub-optimal. The Semantic Web sets out to address this by reversing the problem. Since it’s hard to make machines think about the world, the new goal is to describe the world in ways that are easy for machines to think about.
In the paper, he criticises the inversion and the faulty reasoning behind it: The semantic web assumes that describing the world with metadata is simple (it is not) and that reasoning about the data is simple (it is not).
- Much of the proposed value of the Semantic Web is coming, but it is not coming because of the Semantic Web. […] it is being designed a bit at a time out of self-interest and without regard for global ontology. It is also being adopted piecemeal, and it will bring with it with all the incompatibilities and complexities that implies. There are significant disadvantages to this process relative to the shining vision of the Semantic Web, but the big advantage of this bottom-up design and adoption is that it is actually working now.
However, this is a failing to understand the actual motives of the Capital S Semantic Web developers. In the counter-essay, Themes and metaphors in the semantic web discussion, the section "Ontology of Everything" debunks the accusations of trying to be an “Ontology of Everything.”
That preceeds the response to Clay's conclusion given above.
Not only is the counter-essay interesting because of it’s refutations, but it’s also interesting because of it’s use of VisualLanguage.
The claim “you have to trust the metadata” (or otherwise- you have to cross-check everything) is unnecessarily absolutist. You can assign degrees of trust; It need not be black and white.
Links related to the semantic web can be found on the page SemanticWebLinks (there are so many of them that they were moved to a separate page).
Here’s where I’m at, in understanding the Semantic Web effort.
- NetworkedData? – Making us think about networked data is the #1 idea that the SemanticWeb effort (capital S, capital W) opens our eyes to. aka “Database in the Sky.”
- Reasoners – Making us think about the application of reasoners is the #2 idea that the SemanticWeb effort opens our eyes to.
“Reasoners,” though, are presently poor.
- We have no idea what to do with them, really.
- Only a tiny few programmers know how to use them.
- I’m not aware of shipping programs that use them.
- If I want to make a downloadable Python program, that uses reasoners, but doesn’t also require that you install a bunch of other stuff, I don’t know how to do it.
So, it strikes me that the primary benefit that the Semantic Web effort folk are giving us today, is in making us think about NetworkedData?.
This may sound weak, but I don’t think it is: Affecting a major shift in consciousness is a big deal.
I would like to point out that the MicroFormats people, generally champions of “little-s” semantic web, have not done much to promote NetworkedData?! The most of their work is basically just like silo’d files, just in a different format. So, instead of a vCard being linked to from a page, the vCard is embedded in the page. But you don’t get network effects, infinite extensibility and attachment, and so on.
LocalNames 2 will be networked, and may well be the first major contribution (that I’m aware of) to the utilization of networked data in MicroFormats-land.
Now, here are what seem to me the biggest weaknesses in the Semantic Web effort.
- Triples – On the ResourceDescriptionFramework page, we talked about: “Why triples?” After having spent the last week playing “KnowledgeRepresentation?” in various Python programs, I’ve come to a conclusion: “Triples really suck!” “TriplesBad.” The ContextProblem is infamous: “Lion said that Dogs are Animals.” But there are a number of other things that are well represented in: Singles, Duples, Quadruples, 9-uples, 13-uples, and what have you. Reasoners can work perfectly well using singles, duples, 9-uples, 13-uples, and even relational databases. There is no need to unnecessarily tie our vision to triples; That is my conclusion.
- XML/RDF – It wicked, horrendous, and I find near unanimous agreement amongst everybody I meet who does Sem-Web stuff. It’s just being dragged along because it’s what’s there. There are alternatives that people love much better, but everyone always ends up converting to XML/RDF in the end. It’s just a path-dependency thing.
- Misrepresentations – I don’t think this is the Sem-Web people’s fault, actually: This is just what happens as we start to uncover new territory, and figure out the good from the bad. But I don’t think we’re there yet. As an example: We’re treated to “Oh, all data will automatically merge, or at least be that much easier,” and yet everyone’s struggling to figure out how to get their data to interoperate. “Reasoners to the rescue,” yes, maybe, but where are your reasoners, and: Don’t you still have to tell the reasoners how to connect the data?
All this said, I’m excited about the Semantic Web, and the semantic web, and think it’ll bring really neat things, as we figure this all out.
The understanding of the SemanticWeb as NetworkedData? (rather than reasoning engine) is coming to the fore.
PlanetRdf? has a number of posts lately in the vein of: QOTD:semwebby, Semantic Web is Webby Data. That was today, but for the past couple of weeks, there have been more posts like this.