W3C home > Mailing lists > Public > public-owl-dev@w3.org > January to March 2011

Class attributes in OWL (n00b question)

From: Brian Rossa <brian.rossa@gmail.com>
Date: Mon, 3 Jan 2011 12:56:03 -0500
Message-ID: <AANLkTi=hEUCvvnh9gUe90XQiC1S1o41i9+-mL3rw3K2_@mail.gmail.com>
To: public-owl-dev@w3.org
Hi all,

First of all, let me state that this is a classes-vs-individuals
question and that I benefited some from reading the Nov-2010 "class
and inviduals" (sic) thread on this mailing list
(http://lists.w3.org/Archives/Public/public-owl-dev/2010OctDec/0043.html).
I think I understand correctly that an important limitation of OWL is
that classes and individuals are treated fundamentally differently. In
OOP-ish terms, "classes are NOT objects" in OWL.

I'm just getting started with OWL but am already facing a modeling
problem wherein I dearly wish that this were not the case. I have
constructed two OWL ontologies, one that describes climbing equipment
and one that describes a wiki. Now I want to put them together to
describe a wiki about climbing equipment. Just to give a dumbed-down
example of where OWL is "breaking" the combined model, you can imagine
that I might have a class "Ropes" in the gear namespace and a class
"Pages" in the wiki namespace. Now I want to create an individual page
"ropes_page" in the combined namespace that displays information about
the *entire class* "Ropes." This individual would be of type "Pages"
but not type "Ropes." (To do otherwise wouldn't make much sense,
IMHO.)

I'm a python programmer, so I'll use an analogy with python to provide
some more intuition about the problem. There are two ways I might go
about modeling the intended relationship if I were working in python:

1) I'd instantiate a new Page and pass it a reference to the Rope class object.
or
2) I'd instantiate a new Page and assign it to a so-called "class
attribute" on the Rope class object.

It's my general understanding that this kind of specification of
non-inheritance relations between classes and individuals does not
have an analog in OWL. Am I correct in this? If so, how do folks go
about modeling this kind of thing?

I think it's important to note that this situation is different in
intent from enumerating all the individual ropes {rope1, rope2, ...,
ropeN} and  associating each with the "ropes_page" individual through
an object relation. The intent for the "ropes_page" is to talk about
ropes in generality, not just enumerate the specific qualities of all
the individual ropes in the ontology.

Cheers!
Brian
Received on Monday, 3 January 2011 21:26:51 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:58 GMT