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] basic doubt

James Howison james at
Thu Oct 23 10:40:12 PDT 2008

On 23 Oct 2008, at 12:40 PM, Thomas Russ wrote:

> On Oct 23, 2008, at 9:20 AM, heloise at wrote:
>> Hi,
>> I have a basic doubt...
>> Supose that a Class A has  the datatype property “has_name”
>> If  I have a class B (disjoint with A), and the class B also has a
>> property
>> “has_name”
>> Should I create a new property for class B (for ex. has_B_name) ? or
>> I can use
>> the same property “has_name” used in class A?
> You can use the same property.
> In fact, if you intend that the properties have the same meaning, you
> should use the same name.
> Having the classes be disjoint just says that they can't have any
> individuals in common.  But they can still have all of the same
> properties available.  You only have to make sure you don't restrict
> the domain of "has_name" to be class A only.  It is fine to have it be
> Class A or (union) Class B, which is what you get by adding multiple
> domains to a property in the Protege editor.

Of course there's no need to place any domain on the "has_name"  
property, or just the most general classes (like rdf:Resource).  This  
is why the Protege Pizza tutorial recommends avoiding rdfs:domain and  
rdfs:range until one has a good understanding of their implications  
for reasoning.

Take the example of rdfs:label:

     rdf:type rdf:Property ;
     rdfs:isDefinedBy <> ;
     rdfs:domain rdfs:Resource ;
     rdfs:range rdfs:Literal ;
     rdfs:label "label" ;
     rdfs:comment "A human-readable name for the subject." .

Thus rdfs:label has a domain and range, but essentially it won't have  
any inference meaning, since all one learns is that something that has  
a rdfs:label property is a rdfs:Resource, which one probably knew  

I guess in a perfect model rdfs:domain and rdfs:range would be either  
the closest shared ancestor, or as Thomas points out a Union of all  
the Classes which can legitimately use the property.  The inference  
implications of a Union class can be a bit tricky to think through,  
though; as I understand it they'll only come into play in combination  
with other statements.


More information about the protege-owl mailing list