Semantic technologies allows your to provide meaning to data that is machine understandable. Semantic Web is very well suited for data integration tasks, and building smart data, which is an issue that a lot of big organizations face these days.
They can help you separate your business logic from your codebase by encoding it into an RDF graph; which can help non-programmers perform complex information processing tasks with the help of the computer, which can understand the semantics.
But, like anything else, Semantic technologies are not a silver bullet which will fix all your problems.
You might want to check out the W3C’s official use cases for semantic technologies. There are several good descriptions of projects there which should give you an idea of what other folks are doing with semantic technologies.
Generally, the “semantic web” is a buzzword and therefore is quite unspecific. The basic idea is, to not only connect documents (like you connect websites by using hyperlinks) but to connect semantic concepts. And not only to connect them, but to specify the kind of connections in a more specific way.
And how you do that is totally up to you. There are some technologies that are closely connected to the term “semantic web” like RDF and OWL. You also might to look for the freeware “Protege” which provides some tutorials (Pizza Tutorial). After you have done that, you will have a clearer impression of what you can do with it.
To get another impression what you can do with it, you might want to look at: http://wiki.dbpedia.org/Applications
But to be honest: What you can actually do with it is still beeing researched. There are quite some interesting projects out there, but you are welcome to think of new applications.
There are several parts of the “Semantic Web” that are useful to distinguish:
- RDF, RDF/S and related technologies
- OWL and related technologies
- Linked Data
RDF and RDF/S represent the core of the Semantic Web. It is relatively easy to understand and easy to use. RDF and RDF/S provide you with minimal semantics that you can use to describe concepts used by your organization. Perhaps about the only practical reason you would use it instead of traditional RDBMS is that you need to represent concepts that frequently change and/or evolve. That is, a RDBMS schema would be too rigid and constraining for your purposes; you need something more flexible but still with a schema (i.e. not a schema-less document store for example). For example, a bank where everything is standardized and all schemas are set in stone wouldn’t use RDF/S (or OWL). On the other hand, RDF/S is ideal for knowledge graphs such as DbPedia where the schema constantly evolves.
OWL is a different beast. It provides you with richer concept modelling facilities than RDF/S. It can be useful if you need to define a precise structure of concepts (an ontology) and if you need to verify that the structure is without contradictions. OWL is not so easy to use, and it’s not so easy to understand even for people relatively knowledgeable about the Semantic Web (RDF/S has it’s quirks too but not as much) – the problem is often that of your intended meaning vs. the actual meaning of the OWL expression you use. Also, Some people would say that using OWL is a bit like using blank shells in a gun because you cannot trust your gun to not to shoot yourself in the foot: OWL puts restrictions on what concepts you can express so that reasoners (guns) can deal with it reasonably (not to shoot you for example by never finishing computation). That may be a good thing but it hinders the ease of expression.
Linked Data could be characterized as a movement within the Semantic Web community to make the Semantic Web more practically useful. It shifts focus from knowledge representation (theoretical RDF, RDF/S, OWL) more to their actual applicability on the Web. It stresses the need for using dereferenceable URLs, links between different data sets, correct publishing.
All in all, if you model your data and publish it as Linked Data then thanks to RDF/S and OWL you have the opportunity to create clever applications that were not designed directly for the schema of your dataset but still are capable of using it usefully. A good example how this could be achieved is the Freebase Metaschema: for example your dataset could use properties such as (an actor) “actedIn” (a movie), (an author) “wrote” (a book) and both “actedIn” and “wrote” would be “marked” as some kind of specialization of the property “contributedTo”. So if your application knows how to handle “contributedTo” properties then it will be able to handle even newer datasets to which you add a new property such as “directorOf” and also “map it” to “contributedTo”. The whole Semantic Web machinery is basically aimed at making this possible and at making it general, expressive, and useful.