I was wondering what advantages the ontology languages of RDFS/OWL has over using a tagging/markup system (such as http://www.schema.org/) for managing and creating metadata?
Couldn't diagree more with ZJR's answer. It is utterly uninformed.
- How do you parse Microdata? What does it parse too? RDFa parses to RDF, a common data model that is the thing the Semantic Web has been crying out for. Microdata basically came about because Hickie couldn't be bothered to read the RDF and RDFa specs. It might be easier for a developer, but it's not better for the web (i.e lazy)
For a listing of common OWL vocabularies see below:
- http://vocab.org/, http://open.vocab.org/
The next release of RDF is imminent, including new serialisation formats such as Turtle and RDFj
SPARQL 1.1 is also dues imminently. Query federation, property path expression, SPARQL Update and much much more.
The BBC is built on RDF. The Facebook graph API provides RDF (thats right, you can deference a graph URI using the text/turtle Accepts header and get back RDF) and many other big corporations.
So in summary Semantic Web, RDF, RDFS, OWL, SPARQL and all the Semantic Web standards are very much alive and kicking. If you don't believe me, have a look at all the activity on http://www.semanticoverflow.com
RDF/OWL vs XML is false alternative. In fact one of popular serialization is using XML.
So truly the question is what the advantage of using standard, W3C approved formats. Reasons are:
- there are multiple ontologies already out there including most widely used ones as Dublin Core and FOAF.
- multiple triple-stores compatible with RDF/OWL for most any programming language.
- various of above mentioned triple-stores feature inference engines with SPARQL interface.
Overall, I don't see any reason why should you go for non-standard, non-W3C microformat.
RDF and OWL are established standards for encoding semantic data and their schema, on a much deeper and generic level than an ad-hoc markup.
For example, with OWL, you can define new Schema, which will be at least partially understood by other tools (because you can mix different OWL/RDF schema together). This way, you can export from one dataset different "views" of it and have everyone cooperate. Also, you can just "explore" links between objects and their properties.
With microdata, it's basically an ad-hoc, accepted set of things you can apply, not a general semantic platform.
I would like to start by noting that this answer is not written by an expert in the field. Although I'm a proponent of semantic distributed systems, I think the applications of OWL are currently limited. Although describing precisely the niche in which OWL can be applied would be beyond the scope of this answer, I might be able to bring to light some pro's and con's.
OWL is basically a language which allows the expression of semantic constructs using classification, not unlike the classes you known from OOP and constraints between classes and their instances. One could see it as a more formal and higher-order way to describe relationships you know from a relational database.
To describe and communicate this language, it needs to be serialized to a certain format. There are several formats, of which RDF is just one.
There are three different levels of OWL, allowing for increasing expressiveness, but limiting computability (eg. whether you can find a possible solution to the questions you ask the knowledgebase described by an OWL definition). These are OWL Lite, DL and Full.
The most important advantage of using OWL/RDF is the exchange of knowledge between different knowledge bases (or classification hierarchies) and creating useful inferences without having to engineer all these bases beforehand to allow them to communicate. This is done in part by defining equivalence classes. Using namespaces allows the engineer to ascertain uniqueness; a useful paradigm.
Another advantage is the ever increasing amount of inference engines and query languages. In our networked world, there is a demand for distributed knowledge exchange.
Perhaps an important disadvantage is the relative high complexity of ascertaining the computability of inferences and their space and time constraints. Eg. in OWL full you might be able to ask for inferences which cannot be proven to terminate. Thus, there is certainly a limit to the power of OWL.
OWL knowledge is discrete... there are no half-truths or believe systems. Having these would most likely make the solutions way too complex.
But the most important disadvantage to my taste is that one simply cannot find many good engineers in the field. You'll need a knowledge engineer, one or two computer scientists and a small development team to build even a small knowledge base. Therefor, it is often much cheaper and effective to just use descriptive languages such as XML schema and describe the needed semantics in a human-readable document.
RDFS is about describing structured data. It would be a lot more useful if it would include methods or functions, so we could describe interfaces with it. Currently you need an extra vocab to do so for example WSDL or Hydra by webservices. I guess there is a vocab for OOP too, I just don't know many vocabs.
OWL is something like XSD, it is about validating your data, for example if you expect a string with at most 20 chars, you use OWL to describe that rule and generate a validator. In theory you could do the same with RDFS and XSD, I have no idea why people had to invent OWL instead of just using XSD. Maybe it is because XSD is not based on RDFS, so for example XSD string is not a descendant of RDFS Literal.
Schema.org describes common classes like Person for example. They create their own RDFS like vocab, which includes Thing instead of rdfs:Class, domainIncludes instead of rdfs:domain, rangeIncludes instead of rdfs:range, and so on instead of using RDFS. Their restricted types are ad-hoc too, they use Text and Number without defining them or connecting them at least to rdfs:Literal or XSD primitives. They don't use XSD or OWL to define restricted types as far as I can tell. I am not sure if there are any restrictions in their vocab, but if so I guess they mention it in the human readable descriptions, so you won't be able to generate a proper validator against schema.org, which you could do if they would use XSD/OWL and RDFS.
So I think the advantage of using standards like RDFS, XSD, OWL that you can write libraries which you can reuse by each document.
For the purpose of developing future products, RDFS/OWL XML files are to be considered pretty much dead and gone.
They require too much work to express concepts that a custom built solution based on custom text formats would express better, while keeping the data more readable and editable to humans and machines alike. They add no real value and only make life a little more miserable for everybody that stumbles on them. (and has to deal with their namespace nomenclature)
There are gigantic document handling solutions based on them, though, and they were recently developed, deployed, and are in current service. They threaten to linger around for a very long time. Many programmers in the future will undoubtedly suffer from many RDF-and-OWL-inducted WTFs.
Microdata systems, (the validator-friendly version of microformats) like those described in schema.org, present instead a lot of advantages for developers, editors, and readers, alike; both human and mechanical.
RDF concepts (those worth saving) can be mapped (and are actually being explicitly mapped) over microdata representations painlessly.
Microdata items allow authors and document handling systems to enrich communication in a way that's pretty easy (as easy as CSS or DOM) to handle and customize for the reader.