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] What does an ObjectProperty inerhited from its parent?

Pitonyak, Andrew D PitonyakA at BATTELLE.ORG
Tue Feb 24 10:28:11 PST 2009


-----Original Message-----
From: protege-owl-bounces at lists.stanford.edu [mailto:protege-owl-bounces at lists.stanford.edu] On Behalf Of Thomas Schneider
Sent: Tuesday, February 24, 2009 1:15 PM
To: User support for the Protege-OWL editor
Subject: Re: [protege-owl] What does an ObjectProperty inerhited from its parent?

Hi Andrew,

On 24 Feb 2009, at 17:43, Pitonyak, Andrew D wrote:

>>  Assume a simple Object Property has_relative with a domain and  
>> range that is symmetric, transitive, and the inverse of itself.

> Sorry to enquire, but isn't there a slight redundancy? Being the  
> inverse of itself seems to be equivalent to being symmetric.

Now that you mention it, yes, it feels very redundant. I had not even considered that. I did not define the Ontology, and I can only guess as to the reason that both are used (guess: a custom analyzer may use the information). A more likely situation, however, is over-sight. Thanks for noticing.

>> Now, inherit has_aunt from has_relative.
>> Is has_aunt symmetric, transitive, and the inverse of itself.

> No. Think of each property as a set of pairs of individuals. Your  
> second snippet only says that the set has_aunt is contained in the set  
> has_relative. If the latter is, say, symmetric, it doesn't mean that  
> each subset thereof is symmetric, too.

Thanks, this is exactly what I needed to know!

>>  Does has_aunt have a range and a domain?

> Yes, ranges and domains are "inherited" by subproperties. (Again use  
> the set view to verify this.)

Excellent. So I can specify my own range and domain if I want to further specify the range and the domain.

>>   <tai:Person rdf:about="http://www.battelle.org/TAI/base#P2" />
>>   <tai:Person rdf:about="http://www.battelle.org/TAI/base#P1">
>>     <tai:has_aunt rdf:resource="http://www.battelle.org/TAI/ 
>> base#P2" />
>>   </tai:Person>
>>
>> I know that
>> P1 has_aunt P2.
>> P1 has_relative P2
>>
>> I can infer that
>> P2 has_relative P1
>>
>> I hope that I do not ever infer that
>> P2 has_aunt P1
>>
>> Can I test any of these things using Protégé? (say using a query  
>> with a reasoner enabled).

> You can test for inferences by asking for all subclasses of  
> "has_relative some P1" or "has_aunt some P1". In the first case, P2  
> should be among the answers; in the second case it shouldn't. Since  
> you've written to the Protégé-OWL list, I assume you're using Protégé  
> 3, which I don't feel proficient in. You can have a look into the  
> Protégé tutorial at http://www.co-ode.org/resources/tutorials/protege-owl-> tutorial.php 
>   though.

I actually have both 3.x beta and version 4 installed. I like many things in 4 much better than 3. Great job on that, by the way. 

> HTH
> Thomas

Yes, this helps a lot.

Andrew Pitonyak




More information about the protege-owl mailing list