common properties and rdfs:domain

Hi all,

 

When I originally read the RDFS spec some time ago, I breezed over the
concept of rdfs:domain with the assuredness of an OO programmer that
that the concept mapped nicely to my own conception of a class (silly
me).  Reading "Semantic Web for the Working Ontologist" [1] has caused
me to do a few double takes in my reading (my neck hurts now).  I'd like
to see if my understanding is now correct.

 

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.

 

Furthermore, an additional domain statement of:

 

mysch:p1 rdfs:domain mysch:B .

 

would cause:

 

myinst:me rdf:type mysch:B .

 

to also be inferred.

 

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?

 

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?

 

Thanks in advance for your thoughts on this.

 

Matt

 

 

 

 

 

 

 

[1] Dean Allemang and Jim Hendler. 2008.

Received on Wednesday, 11 June 2008 18:29:45 UTC