- From: Frank Manola <fmanola@acm.org>
- Date: Fri, 21 Apr 2006 11:57:23 -0400
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- CC: ujohnmc@ReedElsevier.com, semantic-web@w3.org
I don't believe we're in essential disagreement...but let's see :-) Peter F. Patel-Schneider wrote: > 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 . Understood. I was assuming a scenario in which Y had borrowed all of X's definition of hasName (including the domain spec, possibly for some kind of "completeness"), but recognizing that some of the consequences would have to be ignored. You are, I think, using a scenario in which that which is "imported" is that which is believed. That is certainly a better-structured way of approaching the problem in this case. > >> 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. I understand (see below). > >> 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. > That's fine. But in this case being "committed to the RDFS consequences" doesn't necessarily mean what one might expect. It means I must recognize that, (assuming the inference engine is working properly) yes, these are the legitimate consequences of what I have chosen to believe (or at least, of what I have allowed to be input to the inference process). However, I'm not "committed" in the sense that I must blindly accept those consequences and forge ahead regardless. Instead I can decide that I must have been mistaken in what I thought I believed and retry the inference with different input, until I get consequences I believe I can "commit to". That being the case, it seems to me that I've effectively chosen to ignore the original consequences. However, I would agree that your description of the process is safer all around. --Frank
Received on Friday, 21 April 2006 15:53:00 UTC