- From: Pat Hayes <phayes@ihmc.us>
- Date: Fri, 13 Jan 2006 13:55:22 -0600
- To: Dan Connolly <connolly@w3.org>, Souripriya Das <souripriya.das@oracle.com>
- Cc: Sergio Tessaris <tessaris@inf.unibz.it>, Enrico Franconi <franconi@inf.unibz.it>, Pat Hayes <phayes@ihmc.us>, Bijan Parsia <bparsia@isr.umd.edu>, public-rdf-dawg@w3.org
>On Thu, 2006-01-12 at 11:07 -0500, Souripriya Das wrote: >> Enrico, Sergio, >> >> I have two basic questions. If you could explain very clearly (in a >> tutorial kind of manner), if possible, it will be very helpful. > >I think I'll give it a try, though >these questions are about terminology that is somewhat ad-hoc, >so I can't be sure my answers are correct... Tiny quibble and comment added below. > >> Also, >> any specific pointers relevant to these questions. >> >> 1) What are 'implicit existentials' and how OWL-Lite has it, but RDFS >> does not? [Ref: Enrico's e-mail: >> http://lists.w3.org/Archives/Public/public-rdf-dawg/2006JanMar/0080.html] > >Consider "every person has 2 arms": > > :Person > rdfs:subClassOf [ owl:onProperty :arm; owl:cardinality 2 ]. > :bob a :Person. > >the semantics of OWL allow us to conclude that bob has 2 arms, >even though we never mentioned them before: > > :bob :arm _:arm1, _:arm2. > _:arm1 owl:differentFrom _:arm2. > >_:arm1 and _:arm2 are 'implicit existentials', if I understand >correctly. That is my understanding also. > >There are no constructs like that in RDFS. You never get bnodes >in the conclusion that weren't in the premise. Quibble. Not exactly. You can get bnodes in conclusions that don't occur in the premis, for example {:a :p :b} entails {_:x :p :b}. But what you never get in RDFS is a case where a bnode in a conclusion has no corresponding term at all in the premis. Up to RDFS, existentials in a conclusion can always be seen as weakenings of some term - a bnode, IRI or literal - actually occurring in the premis. Not in OWL, though. This behavior is peculiar to description-logic-style formalisms like OWL. If you go all the way to full first-order logic, you get the RDFS style back again. The "implicitness" of the OWL existentials arises from OWL's having built-in existential assumptions, but at the same time not requiring ontologies to state explicit existential axioms. > >> 2) You are using SPARQL blank nodes to specify existential variables. a) >> What are the conceptual similarities (and any differences) between >> SPARQL blank nodes (existential variables) and RDF blank nodes? > >Existential variables are pretty much the same in both cases, but >in SPARQL, you can put them in the "if" part of a formula, >which basically turns them into a universal variable; RDF has >no "if" construct. > >Consider "if anybody has a wife, then they're married". > >That's the same as "everyone who has a wife is married". > >In SPARQL: > >CONSTRUCT { ?who a :Married } > WHERE { ?who wife _:somebody }. > >is the same as: > >CONSTRUCT { ?who a :Married } > WHERE { ?who wife ?anybody }. > > > >> b) What >> are the differences between distinguished variables and existential >> variables? [Ref. Sergio's e-mail: >> http://lists.w3.org/Archives/Public/public-rdf-dawg/2006JanMar/0081.html] > >Distinguished variables are the ones that are, or can be, >bound in the results of queries. > >You can't do > > SELECT _:somebody WHERE { _:somebody a :Married }. > >you have to do > > SELECT ?who WHERE { ?who a :Married }. > >There isn't any deep semantic reason for this; it's just not necessary >to allow bnodes to be SELECTed, so we don't. > >The more deep semantic issue in Sergio's message is, I think, that >SPARQL, unlike most KR query languages before it, allows bnodes >for answer value/expressions. > >There's a sense in which this is not very helpful, even though >it's correct: > Q: Who's the president of the U.S.? > A: somebody. >Many KR systems just don't do that. Well, but there can be KBs that have information about unidentified things. Suppose an intelligence Kbase has information about some bad guys, that Alfonso sent a message to someone in Tunisia on Tuesday, but we don't know who. Then surely it makes more sense to have: Q: Who sent a message to whom on Tuesday? A: Alfonso sent one to somebody than to have the question produce 'no answer' just because we don't have an actual name for the guy in Tunisia; particularly as the language gives us the ability to say things like 'somebody' (i.e. to use bnodes as answer bindings.) At any rate, the case isn't as black vs. white as this simple President example might suggest. >Considering bob and his two arms as above, if you ask: > > SELECT ?arm WHERE { :bob :arm ?arm } > >and you include the inferred triples in the input data set, >the answer given by some SPARQL services has two results, >each of which binds ?arm to a bnode: > > ?arm = _:arm1 > ?arm = _:arm2 > >This rdfSemantics issue is largely about whether those >services are doing The Right Thing. And there is also a sub-issue about how to ensure that answers don't include silly gratuitous redundancies, such as Q: Who's the president of the US? A: George W. Bush, and Somebody. Pat > > >> Thanks, >> - Souri. > >-- >Dan Connolly, W3C http://www.w3.org/People/Connolly/ >D3C2 887B 0F92 6005 C541 0875 0F91 96DE 6E52 C29E -- --------------------------------------------------------------------- IHMC (850)434 8903 or (650)494 3973 home 40 South Alcaniz St. (850)202 4416 office Pensacola (850)202 4440 fax FL 32502 (850)291 0667 cell phayesAT-SIGNihmc.us http://www.ihmc.us/users/phayes
Received on Friday, 13 January 2006 19:55:42 UTC