Re: two simple questions

5 messages Options
Embed this post
Permalink
Timothy Redmond

Re: two simple questions

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)

On Nov 9, 2009, at 8:27 AM, Muhammad Javed wrote:

Hi, I hope you can remove my confusions. 

Scenario:

Class "Person" has a OWLDataProperty "Name"

So the first question is what this statements mean.  Two possible meanings are

  • every individual in the Person class has a name.  I tend to favor this meaning for "the class person has an owl data property name".  One consequence of this notion is that it will also be true every  individual in the Male class will also have a name.  This  can be represented with the restriction Person subClassOf Name some string.
  • Person is a domain of the "Name" property.  Expanding what this means, it says that if an individual has a name then that individual is a Person.  It does not follow that the Male class is a domain of the "Name" property.


Male is subclass of Person and has OWLDataProperty "hasOfficeID"
Female is subclass of Person and has OWLDataProperty "hasHouseID"

Similarly we need to determine what these mean.


Andy is instance of Male
Cindy is instance of Female
======================================================
Question 1:
Is property "Name" is inherited to classes Male and Female.  (similar to the concept in Object Oriented Programming)
if YES, it is a facility provided by OWL Syntax or it is provided explicitly by tool Protege.

This depends on the definition chosen for "Person has the property Name".


Question 2:
Protege doesn't stop user to instantiate properties which are neither of its own class nor of its parents class.
e.g. Cindy hasOfficeID 123  ..I try to check whether Fact++ or Pellet shows any error but They DON'T....pls explain this.


First of all Protege generally does not enforce inferences.  Trying to enforce  inference in a reasoner is a very tricky game and I believe would ultimately be much more confusing to the end user.  You end up with interfaces where changing something in one place automatically changes things elsewhere.  We have a couple of these types of inferences in Protege 3 and they can prevent a user can have difficulty saying what he wants to say.  Also it inevitably leads to questions like "you do inference a but not inference b - isn't this a bug?".  

I think that it is much simpler to let the user state what he wants to say and then to use a reasoner to see if he did anything wrong.

Second of all, both FacT++ and pellet are perfectly capable of these types of inferences.  You probably left something out that was needed for the conclusion that you wanted.  For example, did you state that the Male and Female classes are disjoint?  If you have questions send the ontology.

KAON1 simply don't provide facility to instantiate any property if its not domain of the class or of its parent.

It might be worth having a plugin providing this capability.  This is being done by NCI with NCI Protege.

-Timothy




KAON1 simply don't provide facility to instantiate any property if its not domain of the class or of its parent.
=======================================================

Thanks for your help

 
----------------------------------------------
Muhammad Javed
PhD Research Student


_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Timothy Redmond

Re: two simple questions

Reply Threaded More More options
Print post
Permalink

> How we can define in Protege 4.0  that
>
> "every individual in the Person class has a name"

Give Person a superclass of

     hasName some string

>
> OR
>
> "if an individual has a name then that individual is a Person"


Add Person as a domain for the hasName property.

-Timothy


On Nov 10, 2009, at 1:54 AM, Muhammad Javed wrote:

>> Class "Person" has a OWLDataProperty "Name"
> U wrote:
>
> So the first question is what this statements mean.  Two possible  
> meanings are
>
> • every individual in the Person class has a name.  I tend to favor  
> this meaning for "the class person has an owl data property name".  
> One consequence of this notion is that it will also be true every  
> individual in the Male class will also have a name.  This  can be  
> represented with the restriction Person subClassOf Name some string.
> • Person is a domain of the "Name" property.  Expanding what this  
> means, it says that if an individual has a name then that individual  
> is a Person.  It does not follow that the Male class is a domain of  
> the "Name" property.
>
> How we can define in Protege 4.0  that
>
> "every individual in the Person class has a name"
>
> OR
>
> "if an individual has a name then that individual is a Person"
>
>
> So far I have learnt about Protege .....user simply add a concept  
> lets say "Person" as a Domain to the DataProperty "hasName".
>
>
>
> Regards
> Muhammad
>
>
>
>
>
>
>

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Juliet Gwenzi

Re: rdf:ID (Classes and subclasses)

Reply Threaded More More options
Print post
Permalink
Some javascript/style in this post has been disabled (why?)
Dear all.
I build an ontology and wanted to do a transformation  using XLST but i realise that classes have rdf:ID and subclasses have rdf:ID. My problems is how to distinguish these ID's so that my transformation works out.
 
Juliet Gwenzi
ITC
Mailbox Number 389
Hengelosestraat 99
P. O. Box 6
7500 AA Enschede
The Netherlands

Mobile:  +31 647 271 542
Land      +31 534 803 999 
Email: [hidden email]
          [hidden email]
 


Win 1 of 4 Sony home entertainment packs thanks to Yahoo!7. Enter now.
_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Thomas Russ

Re: rdf:ID (Classes and subclasses)

Reply Threaded More More options
Print post
Permalink

On Nov 11, 2009, at 8:33 AM, Juliet Gwenzi wrote:

> Dear all.
> I build an ontology and wanted to do a transformation  using XLST  
> but i realise that classes have rdf:ID and subclasses have rdf:ID.  
> My problems is how to distinguish these ID's so that my  
> transformation works out.

I think you will find this a fairly frustrating task.

XSLT operates on the surface syntax of the XML encoding of an OWL  
ontology and not on the underlying semantic structure. And there are  
lots of different, semantically equivalent ways of writing an OWL  
ontology in XML/RDF.  So you will find that you have to do a lot of  
work trying to figure out all of the variants that are used by the  
particular writing code used to serialize OWL into XML.  And changes  
to the ontology in Protege can sometimes lead to very different  
looking serializations, especially with the Jena writer.

What sort of transformation do you want to do?  It may be a lot easier  
to do it using an export plugin than trying to figure out how to use  
XSLT.


_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03
Timothy Redmond

Re: two simple questions

Reply Threaded More More options
Print post
Permalink
In reply to this post by Timothy Redmond


> > Can you please differentiate between SuperClasses given below
> >    
> > Person(Class) is super class of Male (Class)        VS
> >  hasName (Property) is superclass of Person (Class)

I meant that

   Person is a subclass of (hasName some string)

not

   Person is a sublcass of hasName

(which doesn't make any sense).

Actually, in owl the concept is usually expressed in the other order (A
is a subclass of B).  What A is a subclass of B means is that every
individual in A is an individual in B.

So

  Person subClassOf (hasName some string)

means that every individual in the class Person is a member of

    hasName some string.

An individual is a member of

   hasName some string

exactly when the individual has a hasName property value that is a
string.

-Timothy
                                                                                 

On Thu, 2009-11-12 at 11:38 +0000, Muhammad Javed wrote:

> you wrote:
>  
>         "if an individual has a name then that individual is a
>         Person"    >>>>    Add Person as a domain for the hasName
>         property.
>  
> Thats clear to me...
>  
>         "every individual in the Person class has a name"
>              >>>>    Give Person a superclass of  hasName some string
>
>
> this is not clear to me....If i am not wrong that means .........
> hasName (OWLDataProperty) is a superclass of Person (Class).
>                                         or in other
> words ....................... hasName some string   is a superclass of
> Person (Class).
>
>
> Can you please differentiate between SuperClasses given below
>    
> Person(Class) is super class of Male (Class)        VS
>  hasName (Property) is superclass of Person (Class)
>
>                              
> thanks in advance for your help.
>
>
>
>
>
>
>
>
>
>                                          
>
>
>
>
>
>
> =====================================================================================
>  
>
> On Wed, Nov 11, 2009 at 3:13 PM, Timothy Redmond
> <[hidden email]> wrote:
>        
>                 How we can define in Protege 4.0  that
>                
>                
>        
>        
>                
>                 OR
>                
>                 "if an individual has a name then that individual is a
>                 Person"
>        
>        
>        
>         Add Person as a domain for the hasName property.
>        
>         -Timothy
>        
>        
>        
>        
>         On Nov 10, 2009, at 1:54 AM, Muhammad Javed wrote:
>        
>                         Class "Person" has a OWLDataProperty "Name"
>                 U wrote:
>                
>                 So the first question is what this statements mean.
>                  Two possible meanings are
>                
>                        • every individual in the Person class has a
>                 name.  I tend to favor this meaning for "the class
>                 person has an owl data property name".  One
>                 consequence of this notion is that it will also be
>                 true every  individual in the Male class will also
>                 have a name.  This  can be represented with the
>                 restriction Person subClassOf Name some string.
>                        • Person is a domain of the "Name" property.
>                  Expanding what this means, it says that if an
>                 individual has a name then that individual is a
>                 Person.  It does not follow that the Male class is a
>                 domain of the "Name" property.
>                
>                 How we can define in Protege 4.0  that
>                
>                 "every individual in the Person class has a name"
>                
>                 OR
>                
>                 "if an individual has a name then that individual is a
>                 Person"
>                
>                
>                 So far I have learnt about Protege .....user simply
>                 add a concept lets say "Person" as a Domain to the
>                 DataProperty "hasName".
>                
>                
>                
>                 Regards
>                 Muhammad
>                
>                
>                
>                
>                
>                
>                
>        
>        
>
>
>
> --
> ----------------------------------------------
> Muhammad Javed
> PhD Research Student
> Centre for Next Generation Localisation,
> L208, School of Computing
> Dublin City University, Dublin 09
> Ireland
> Tel: #. +353-86 064 8311
> www.computing.dcu.ie/~mjaved

_______________________________________________
protege-owl mailing list
[hidden email]
https://mailman.stanford.edu/mailman/listinfo/protege-owl

Instructions for unsubscribing: http://protege.stanford.edu/doc/faq.html#01a.03