- From: Benja Fallenstein <b.fallenstein@gmx.de>
- Date: Wed, 05 May 2004 01:20:38 +0300
- To: Phil Dawes <pdawes@users.sf.net>
- Cc: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>, www-rdf-interest@w3.org
-----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