Re: less-restrictive range and domain terms

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Phil Dawes wrote:
|  > >
|  > > x:schnak rdfs:range aoeuii
|  > > =====>
|  > > x:schnak phil:rangeIncludes aoeuii

Let's recapitulate: "There is a triple with property x:schnak and value
of type aoeuii" seemed an appropriate interpretation of the second
statement above.

| Peter F. Patel-Schneider writes:
|  > Perhaps, but this doesn't follow from the intuitive meaning that
you said
|  > you were thinking of.  Either the intuitive meaning or the
inference rule
|  > are wrong.
|
| I'm not sure I understand.

This is about the 'edge case' of empty sets.

~    x:schnak rdfs:range aoeuii
~    "All triples with prop x:schnak have values of type aoeuii"

~    x:schnak phil:rangeIncludes aoeuii
~    "There exist triples with prop x:schnak have values of type aoeuii"

The first is true even if there are *no* triples with property x:schnak
at all. The second is not. That's why you cannot infer the second from
the first.

For example,

~    "All RDF properties born in Jacksonville have 4-year warranty"

is perfectly true because there are no RDF properties "born" anywhere ;-)

| I'd like to write some software that offers
| hints to the user about what types of objects can be used in triples
|   subj x:schnak ?
|
| If I can infer the following at the store level:
|   x:schnak rdfs:range aoeuii --> x:schnak phil:rangeIncludes aoeuii
|
| then my client just needs to query for
|    (xschnak phil:rangeIncludes ?typehint)
| to pick information from the  rdfs schema as well.

Pragmatically, you could query for all range and rangeIncludes
statements, because more people will make the former than the latter.

(If everybody created both range and rangeIncludes statements, querying
for the latter would be more useful, because the only classes included
in the former but not the latter would be empty classes. But everybody
doesn't, so querying for both seems sensible.)

|  > > and maybe (if we're adopting 'range might feasibly include'
|  > > semantics):
|  > >
|  > > x:schnak rdfs:range aoeuii
|  > > baoeu rdfs:subClassOf aoeuii
|  > > =====>
|  > > x:schnak phil:rangeIncludes baoeu
|  >
|  > This is even worse.
|
| Again, I don't understand why. (although it does have less utility).

prop  rdfs:range      rdfs:Resource   for all properties 'prop'
class rdfs:subClassOf rdfs:Resource   for all classes 'class'

Therefore, if you allow the inference above,
"x:schnak phil:rangeIncludes class" for all classes 'class,' which is
useless.

Cheers,
- - Benja
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAmBc1UvR5J6wSKPMRAhcvAJ9op73S5568NbieeDAQ5QHxy0PzuACdFViL
ZE59I3nogKE1o1xKLsaf8+g=
=Wxb/
-----END PGP SIGNATURE-----

Received on Tuesday, 4 May 2004 18:21:15 UTC