So far I understand how resources can be identified using triples. Subject-Predicate-Object. That is awesome, you can really store all kinds of information this way, and do kinds of funky things. However, I am a little confused on the vocabularies part. Vocabularies are simply a set of URIs that have a specific meaning, right? So someone can say "Luca is a human". The idea is that instead of "Luca", and "is a" and "human" you have URIs that are dereferenceable, such as "http://foo.com/Luca" instead of just "Luca", right?
Say I am building a vocabulary about crops. I have things such as "crop name" or "plant height" or "stem rust", and it goes down to very scientific names such as "harvest index" or "suitability for intercropping". What am I suppose to do to make this vocabulary available to the world so that it can be used within someone's RDF data?
I imagine that if I publish these descriptors as URIs such as "http://myontology.org/CropName" then someone can use it in their RDF such as:
I've read the w3c best practices on building a vocabulary, but I'm still a bit confused. Wouldn't having URIs for each of these "descriptors" be enough so that they can be used with RDF? What's the purpose of OWL and RDFS? I really don't understand what "Classes" are and "Properties" and if I need to be aware of them when I'm building my vocabulary.
But in essence, isn't an RDF vocabulary just a list of URIs?
In a way, yes. But it is assumed that a vocabulary also assigns a certain meaning to the URIs it is composed of. That is, randomly putting some URIs together would not form a vocabulary. So you need a way to communicate the meaning of terms in a vocabulary. There are many ways you can do that, but one way that is very well adapted to the architecture of the Web is to use a uniform identifier for the term (a URI) and choose it such that it can be dereferenced, and when it's dereferenced it provides all you need to know about the term.
This implies that (1) the description of the terms is accessible online and (2) it is discoverable automatically by following links, if a piece of data is using the term's identifier.
Then, you have two kinds of descriptions of a term: informal, for human consumption; and formal, for computer processing. Both are very important.
The informal description (usually natural language text) allows you, a person, to understand what is the intentional meaning of the term. With this, you know how and when to use the term. With it, you can decide to programme custom code for the data that use the term. For instance, if you see that
So there is the formal description, that neither allow the computer to understand what the term means, but that enables it to automate processes. For instance, if a file contains
In the end, it's this combination of human understanding of what the terms mean, and the computerised deductions, that makes RDF vocabularies essential.
OWL simply introduces more varied formal relationships between terms, such that more computational deductions can be made. RDFS simply has a limited amount of them.
answered 29 Jan '13, 08:02
Antoine Zimm... ♦
If you think of how a dictionary look like, which defines the meaning of a term with the relationship to other terms, than you will better understand that a list of URI will not grasp the meaning just list your terms you use in your language. However once you start defining the connections with simple typed relationships, you will define the meaning. RDFS and OWL will give you tools to be able to tell basic claims about your entities identified by URIs as Antoine already stated.
answered 29 Jan '13, 11:27