W3C home > Mailing lists > Public > semantic-web@w3.org > June 2008

Re: common properties and rdfs:domain

From: Bijan Parsia <bparsia@cs.man.ac.uk>
Date: Wed, 11 Jun 2008 19:49:56 +0100
Message-Id: <06CC0B8C-A6FD-421F-A40D-D414EA35E82A@cs.man.ac.uk>
Cc: <semantic-web@w3.org>
To: "Johnson, Matthew C. (LNG-HBE)" <Matthew.C.Johnson@lexisnexis.com>

On 11 Jun 2008, at 19:29, Johnson, Matthew C. (LNG-HBE) wrote:
[snip]
> mysch:p1 rdfs:domain mysch:A .
> myinst:me mysch:p1 “something” .
>
> Would allow one to infer:
>
> myinst:me rdf:type mysch:A .
>
> without explicitly providing that triple.

Yes.

> Furthermore, an additional domain statement of:
>
> mysch:p1 rdfs:domain mysch:B .
>
> would cause:
>
> myinst:me rdf:type mysch:B .
>
> to also be inferred.

Yes. And even, in OWL, that me is an instance of the conjuction.

> Assuming this is good so far, is it safe to assume that one should  
> specify a class as a part of a property’s domain ONLY IF one is  
> prepared to say that all subjects that use that property are in ALL  
> of the classes specified by the domain regardless of whether that  
> typing is explicitly stated?

Yes. domain and range are what are known as "global restrictions". In  
OWL, you can define "local" restrictions, that is, you can say that  
*for a certain class* (C) all the values of P are D where was for a  
different class (E) you can make the range of P be not D.

Thus you could consistently have the triples:

	x type C.
	x P a.
	y type E.
	y P b.

a would be inferred to be in D and b in not D.

> My use-case that started this is common/generic properties such as  
> Dublin Core’s “dc:title”, “dc:identifier”, etc.  My original OO- 
> inspired approach had me explicitly stating the domain of these  
> properties [within my schema] based on classes that might use  
> them.  Since this was just a sandbox for me, no harm was done but I  
> now believe that I was incorrectly providing class inferences based  
> those domain statements.  My thinking now is that these types of  
> properties should really never have a domain specified since it is  
> very likely that such properties will be used on a wide variety of  
> classes.  Is there a flaw in this statement?

You can also (in OWL) make disjunctive ranges and domains, e.g.,

	P domain A *OR* B.

Which is a way of being liberal about it. But then you won't get the  
inferences you were getting before.

Cheers,
Bijan.
Received on Wednesday, 11 June 2008 18:47:47 UTC

This archive was generated by hypermail 2.4.0 : Thursday, 24 March 2022 20:41:10 UTC