Search Mailing List Archives


Limit search to: Subject & Body Subject Author
Sort by: Reverse Sort
Limit to: All This Week Last Week This Month Last Month
Select Date Range     through    

[protege-owl] Modelling questions: Synonyms, instances and practicality

Thomas Russ 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 
 > wrote:

> Hi,
>
> 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  
synonym mapping.


> 2)     Besides bottles, we have a few further canisters (say, cans,  
> barrels etc.). The hierarchy roughly looks like this:
> canister
> |- 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 mailing list