Join The Washington Semantic Web Meetup

You'll get invited to our Meetups as soon as they're scheduled!

The Washington Semantic Web Meetup Message Board › Naive Ontology question

Naive Ontology question

Bruce Seely
Posted Oct 18, 2009 3:41 PM
user 10024599
Morganville, NJ
Post #: 1
Send an Email Post a Greeting
I don't understand the relationship among OWL, RDF, and ontologies. As I understand it, OWL is a language for expressing web-based ontologies. Is a file required to be an OWL file (foo.owl) to express an ontology? Can files containing only RDF statements be called ontologies also? Is there something that distinguishes an ontology file from an RDF file that is not considered to contain an ontology?

Thanks!
Steve DeRose
Posted Oct 20, 2009 4:16 PM
user 10683064
Washington, DC
Post #: 1
Send an Email Post a Greeting
Ontologies are, basically, organizations for information. You can draw one one a whiteboard or a sheet of paper with circles and arrows, or describe it in English, or whatever. When people organize a formal ontology, they typically start out pretty tree-like: categories fit in other categories that fit in other categories, and so on:

thing -> tangible-thing -> organism -> human -> computer-geek -> Bill

The list of subject headings developed by the Library of Congress is a good example of a basic ontology (basically) of this kind.

Usually, however, you want to include a lot more information, the most obvious being properties of the things in your ontology:

'human' has 'nose'
'Bill' has 'green eyes'
'organism' contains-parts 'cells'
'Bill is-of-gender male'

Notice that if you knew the hierarchy shown above, plus these 4 simple properties (sometimes called "facts"), you could draw other conclusions that aren't stated: that there can be organisms with green eyes; that Bill has a nose; and so on. More sophisticated ontologies will save stating zillions of individual facts, by stating rules instead.

Exactly how you organize an ontology is important because it determines how you can use your information -- If Library of Congress messed up their subject organization, good look finding anything (and it gets very messy when the meanings of words change with time, as they do!). If you added a gender division under 'human' in my simple example above, you'd have trouble because you have to use that division in lots of other places, too. So, more complex ontologies end up not being simple trees at all, even though that's often a good way to look at them *to start*.

Now, RDF is a specific computer language (syntax) for representing statements. A group of such statements is an ontology, although it might be a more or less interesting one. So, I would say that any RDF file is an ontology (but many, many things that aren't RDF are also ontologies). Every statement in RDF is a "triple":

thing1 relationship-name thing2

My 4 examples of properties above would make fine RDF triples, though I didn't write them in RDF syntax. For one thing, things and relationships in RDF end up being represented by URIs. The hierarchy I started with can be represented as a series of "is-a" facts. By judicious choice of things and relationships, you can represent just about anything in RDF. That's important, but not much of a virtue by itself -- you can also represent just about anything with a pencil and paper, or Fortran, or HTML meta elements, or almost any other system. The bigger advantage is that RDF is standardized and widespread, so if you use it you can pass your information around much more easily. And (related), there's lots of software for dealing with information in RDF.

Notice that RDF doesn't specify any particular ontology -- RDF doesn't know anything about 'humans' or whatever the objects of your specific interest are. So you and someone else might both be using RDF, and still have a big job mapping your organization to theirs -- both for the individual names, and for the organization you chose.

There are some standard specific ontologies, too. A good general one is called SUMO; it's focuses on the top few levels, which turn out to be very hard to do well. SUMO and its kin are worth studying because the folks who did them were very deeply into ontologies, and can help you avoid time-consuming mistakes.

OWL is a narrower standard than RDF, but still a way of representing ontologies, not an ontology in itself. It pins down more of how you construct an ontology, and some rules for how to reason once you have a bunch of facts around. In fact there are levels of OWL, with a range of reasoning principles allowed. OWL can be expressed in RDF, and often is. But it also can be expressed in several other standard syntaxes -- just as you can write numbers in Arabic, Roman, exponential, and a variety of other notations. Choosing among the syntaxes for OWL is largely a matter of taste, although some of them are a bit less expressive; they're all ontologies.

Probably the easiest way to get going with ontologies is to get an ontology-building tool (Protege is quite nice, and free), and start building one. Start out following OWL rules, since the extreme freedom of general RDF makes it easy to get lost. Pick some domain you like: Asian food, Greek mythology, old cars; whatever. And start creating a way to organize them and express properties about them. Save it in a variety of syntaxes and go look at them -- when you already know the content, figuring out how the syntax works is much easier. And if you actually try to do a non-trivial ontology for your favorite subject, you'll discover the hard parts, and force yourself to think through how you want to structure it -- and if you do that, you'll be on your way.

Steve DeRose
Director of Linguistics, OpenAmplify.com
Powered by mvnForum