Re: question on domain

From: Frank Manola <fmanola@acm.org>
Subject: Re: question on domain
Date: Fri, 21 Apr 2006 10:39:26 -0400

> Peter F. Patel-Schneider wrote:
> > From: Frank Manola <fmanola@acm.org>
> > Subject: Re: question on domain
> > Date: Fri, 21 Apr 2006 09:51:21 -0400
> > 
> >> Johnson, Matthew C. (LNG-ALB) wrote:
> >>> Hello,
> > 
> > [...]
> > 
> >>> Based on my understanding, one can define a property and then specify 
> >>> the domain for that property which is the list of classes in which that 
> >>> property is allowed.  
> >> Not quite.  As several other responders have noted, specifying the 
> >> domain doesn't *disallow* use of the property with instances of other 
> >> classes.  What it does is license inferences about what classes your 
> >> instance is also a member of, based on the domain declaration.  You are 
> >> free to disregard those inferences if you don't think they are 
> >> appropriate.
> > 
> > Huh?  Do you actually mean that you can legitimately use RDF(S) and ignore
> > the meaning its constructs?  
> > 
> 
> Well, let's take the original example.  Someone (X) specifies a property 
> hasName with domain Person.  Later, someone else (Y), specifies a class 
> Pet and decides to "borrow" the original hasName property for use in 
> giving names to instances of Pet, e.g.,
> 
> ex2:fido rdf:type ex2:Pet  .
> ex2:fido ex1:hasName "Fido"  .
> 
> The domain specification licenses the inference that
> 
> ex2:fido rdf:type ex1:Person .

Well not really, at least not yet.  Remember that RDF only works on
(single) RDF graphs.  The above RDF graph (with two tuples) does not
RDFS-entail the third tuple.

However, the following RDF graph

ex2:fido rdf:type ex2:Pet  .
ex2:fido ex1:hasName "Fido"  .
ex1:hasName rdfs:domain ex1:Person .

does indeed RDFS-entail 

ex2:fido rdf:type ex1:Person .

> Y, knowing that she/he borrowed a property with a domain declaration 
> that would produce this result, and deciding that it's inappropriate in 
> Y's application, chooses to ignore it.  I would argue that:
> 
> a.  assuming Y is fully aware of what's going on, no awful sin has been 
> committed

Well, assuming that Y is using RDF(S), and that Y uses the domain triple
for hasName, then I would argue that an awful sin has indeed been
committed.  Now, of course, I would also argue that one can indeed use a
name coined by another (e.g., ex1:hasPerson) without using all the
information that anyone (even the coiner) has asserted about that name.

> b.  this is not "ignoring the meaning of an RDFS construct", this is 
> ignoring the meaning that X may have wanted to express in using the 
> domain specification (that anything with a name is a person), and that Y 
> wishes to generalize

Ahh, now we are back in sync.  However, I would *not* say this the way that
you initially did.

> Do you actually mean that someone is bound to treat equally all 
> information obtained from any source on the Web, whether that source is 
> human or automated inference?

Of course not, but this is not a matter of ignoring the RDF(S) consequences
of information (ex2:fido rdf:type ex1:Person . above).   It is instead
choosing to not believe certain RDF(S) information (ex1:hasName rdfs:domain
ex1:Person .).  If one believes certain information and one is using RDFS,
then one is committed to the RDFS consequences of that information.

> I would imagine that there will be all sorts of cases where, when 
> merging information found on the Web, a certain amount of 
> "interpretation" of the results will be necessary.

Well, I would put it that one needs to determine which information one
believes.  Once that determination has been done, then the consequences are
whatever they are.  Of course, one might choose to (dis)believe certain
information based on its consequences.

> --Frank

peter

Received on Friday, 21 April 2006 14:56:37 UTC