Search Mailing List Archives
[protege-owl] Modelling questions: Synonyms, instances and practicality
tar at ISI.EDU
Thu Oct 2 11:11:54 PDT 2008
On Sep 29, 2008, at 4:46 AM, <Damian.Nowak at empolis.com> <Damian.Nowak at empolis.com
> while modeling an OWL-DL ontology, I stumbled on a few questions I
> could not find any satisfying answers to:
> 1) We have the need to model synonym names of concepts from time
> to time, say, bottle, flask and flagon shall all point to one
> concept (just for the sake of an example). We currently use
> different „rdfs:label“ properties of one concept. I know that
> there’s a property called „see also“, as well as the possibility to
> use „same as“. What is the „cleanest“ modeling practice?
I think the cleanest solution is to use something like the rdfs:label
or some other property of your own creation. That way you can control
the mapping of names to concepts, and even allow for the use of names
that are shared between different concepts. The latter is hard to do
if you start using "same as", since that indicates equality and what
you really want is ambiguity instead.
"see also" I would reserve for related items rather than name or
> 2) Besides bottles, we have a few further canisters (say, cans,
> barrels etc.). The hierarchy roughly looks like this:
> |- bottle
> |- can
> |- barrel
> |- …
> Now, if I want to say something about all canisters (for instance
> the property: all canisters have a capacity), I can only use
> instances of these within a relation (a object property) since we
> are in OWL-DL. Luckily there is the possibility to pick all asserted
> instances of one concept in Protégé. Unfortunately, only those
> instances are used which are part of the ontology at right that
> moment. If I add some more canisters later, they are not added.
> (How) can I automate/synchronize this process?
I don't quite follow what you are saying.
OWL-DL certainly allows you to add a necessary condition to canister
that says all canisters have a capacity. This can be done using a
cardinality restriction (either minimum or exactly). You just add
this to the definition of canister and it will apply to all instances
of canister (including subclasses). And it will apply regardless of
when they are created.
The OWL-DL restriction on using only individuals with properties
refers to assertions. The restrictions on class definitions are part
of OWL-DL and allow you to make type and cardinality restrictions for
properties on individuals of the class.
> 3) Is OWL-DL realistically usable in a productive environment? I
> know that this is no easy question, but I have no idea how many
> concepts & instances can be used in combination with a reasoner? (In
> addition, which reasoned is the most efficient?)
I think that the most critical question with regard to a production
environment is not so much the performance of the system, but rather
whether the restrictions on expressive power and the types of
reasoning that can be done are sufficient for your needs. Unless you
are trying to use the ontology to do tremendous amounts of reasoning,
I don't think performance will be an issue. And if you really need
all that reasoning power, I would expect that any other ad hoc
solution would be much worse.
> I could not find a suitable answer for this on the internet.
> a. Which constructs of DL cost how much performance, which
> should be used, which omitted?
I think that would depend a bit on the particular reasoner, although
there are some general principles. You should check the documentation
that is available for the reasoners such as Pellet and Racer.
More information about the protege-owl