Semantic Web
The semantic web is a great vision of making the content of the world wide web (www) machine-readable. So that computers can help us more in using the confusing amount of content and devices. The inventor of the WWW detailed his vision in a nice book Weaving the Web.What happened next was that logicians entered the field and helped to consolidate half a century of artificial intelligence and knowledge exchange formats into standards like RDF, RDFS and OWL.
The central idea was all these years to build smart programs in which the knowledge they have can easily be exchanged, improved and shared. This is in contrast to normal programs where all "smart" behavior has been written by hand, and is thus hard to change and also hard to get bug-free.
Back to RDF, RDFS, and OWL. All these knowledge exchange formats ultimately describe a model of the world. This model is then used to derive many new true facts from a small set of known true facts. Now it gets interesting:
What is a model?
It turns out, no matter how you start, in the end, a model can always be described (or represented) as:- A set of things
- A set of relationship types
- Relations between things
In order to use the model in the real world you also need some kind of mapping from stuff in the real world to things in your model. Example. Let's say you are an insurance company and want to model people and their ownership of cars. One of your clients is Peter and he owns a nice silver Mercedes Benz. To make it easy for us, let's give the things in your model numbers. We use "thing_1" to mean Peter and "thing_2" as the silver Mercedes. We do the same for relations and use "relation_1" to mean to own something. So our model is
- Set of things: thing_1, thing_2
- Set of relationship types: relation_1
- Relations between things: thing_1 --(relation_1)--> thing_2
The thing which is hard to explain is, all models ultimately describe things, relationship types and relations between things. And one very obvious way to write such things down is as triples. Each triple is (thing which is linked to something, relationship type how things are linked, thing to which the link goes).
RDF and OWL
Back to RDF, RDFS, and OWL. RDF is pretty close to "just use triples". However, the RDF standard from W3C couldn't resist to include more stuff.RDF contains one more genius idea: They use globally unique identifiers (namely URIs) for things and relationship types. This allows to import a number of RDF files, and if they talk about the same things, just put them together and have combined knowledge. E.g. one RDF file records which persons own which cars. Another file could contain triples about colors of cars. Combining the two, we can find out, what colors people seem to like.
The set of defined things and relationship types is often called a vocabulary. The
RDF standard describes how to store and express such a vocabulary. The RDFS standard then defines a vocabulary to describe types, lists, sets, type hierarchies and much more.
Ontology
A way to store a model in a computer file together with a way to store a description of the vocabulary is an ontology. In reality, the terms model, vocabulary, and ontology are often mixed up and especially for ontology no crystal-clear definition can be given. The main point is, computers can understand it and humans should understand it, too.OWL in this sense is just a bigger, more complex vocabulary. In fact, it can be seen as the most expressive, most complicated vocabulary and set of rules that a computer could use without having to run calculations forever. This relates to complexity and computation theory. It is surprisingly easy to say simple things that require enormous amounts of computation. OWL carefully avoided that. Yet, many OWL features are not used in real-world ontology use cases.
Topic Maps
Topic Maps are an older, simpler concept. More similar to RDF than OWL. Topics Maps came from libraries and they concern with representing which topics occur in which books and how topics and books belong together. What really is a topic is described in Topic Maps in more depth than in RDF or OWL.Play with semantic web ideas now
To conclude this short wild ride in the world of semantic web, let me introduce DenkWerkZeug, a tool per creating semantic models. It is a mix of personal wiki, personal semantic web (contains a reasoning engine) and a little bit of mind mapping. There is a free version and you can download it today at DenkWerkZeug.com. You can use it to play around with semantic web concepts.Feedback is always welcome.
No comments:
Post a Comment