- From: Pat Hayes <phayes@ihmc.us>
- Date: Sat, 18 Dec 2004 21:58:34 -0800
- To: Eric Prud'hommeaux <eric@w3.org>
- Cc: public-rdf-dawg@w3.org, tlr@w3.org
>In response to a thread on UNSAID in the comments list [1], I've >drafted a section on UNSAID [2]. Let me strongly suggest that we do not include UNSAID in SPARQL. To do so would violate the basic assumption that underlies RDF and OWL that graphs cannot be assumed to be complete sources of information. RDF graphs cannot be assumed to be databases. The message that started the thread http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2004Nov/0016.html has an example that illustrates the point in its use case 2, the financial institution that must not send its prospectus to customers in the US or Canada. For this institution to rely on an UNSAID query to ensure this rule was obeyed would be very risky, since in general the RDF content against which the query is being evaluated is not known to be complete with regard to citizenship information. It cannot be so known, except by special access to off-web information, as there are currently no Web protocols for communicating the fact that a source is complete in this way. Unless one is sure that an RDF graph is suitably complete, to conflate not-present-in-the-graph with known-to-be-false is a very dangerous move, and quite likely to result in an invalid inference. The use of UNSAID in SPARQL makes the entailment of a query response by the target hostage to a graph property which cannot itself be communicated by any current Web protocol. This is a very dangerous precedent to set, and violates the design guides of the entire RDF/RDFS/OWL development effort so far. If SPARQL contains UNSAID then it will be inconsistent with any account of meaning which is based on the RDF/RDFS/OWL normative semantics. This will not render SPARQL unusable, but it will place it outside the 'semantic web layer cake' and probably lead to the eventual construction of a different, and rival, query language for use by Web reasoners. Pat >Andy asked about implementing it on >an SQL-accessed triple store. I thought I'd share the answer with the >WG. I test for default negation by doing an outer join to the triple >in the positive and then constraining that part of that triple is >NULL: > > >CREATE TABLE holds (id INTEGER NOT NULL AUTO_INCREMENT, > s VARCHAR(80), p VARCHAR(80), o VARCHAR(80), > PRIMARY KEY(id)); > >-- _:a foaf:name "Alice" . >-- _:a foaf:page <http://work.example/alice> . >-- _:a foaf:workplaceHomepage <http://work.example/alice> . >-- _:b foaf:name "Bob" . >-- _:c foaf:name "Eve" . >-- _:c foaf:page <http://isp.example/eve> . >-- _:c foaf:workplaceHomepage <http://work.example/eve> . > >INSERT INTO holds (s, p, o) VALUES ('_:a', 'foaf:name', '"Alice"'); >INSERT INTO holds (s, p, o) VALUES ('_:a', 'foaf:page', >'<http://work.example/alice>'); >INSERT INTO holds (s, p, o) VALUES ('_:a', 'foaf:workplaceHomepage', >'<http://work.example/alice>'); >INSERT INTO holds (s, p, o) VALUES ('_:b', 'foaf:name', '"Bob"'); >INSERT INTO holds (s, p, o) VALUES ('_:c', 'foaf:name', '"Eve"'); >INSERT INTO holds (s, p, o) VALUES ('_:c', 'foaf:page', >'<http://isp.example/eve>'); >INSERT INTO holds (s, p, o) VALUES ('_:c', 'foaf:workplaceHomepage', >'<http://work.example/eve>'); > >-- SELECT ?name >-- WHERE ( ?x foaf:name ?name ) >-- UNSAID ( ?x foaf:mbox ?mbox ) > >SELECT h1.o AS name > FROM holds AS h1 > LEFT OUTER JOIN holds AS h2 ON h2.s=h1.s AND h2.p="foaf:page" > WHERE h1.p="foaf:name" > AND h2.o IS NULL > >-- +-------+ >-- | name | >-- +-------+ >-- | "Bob" | >-- +-------+ > >-- SELECT ?name ?homepage >-- WHERE ( ?x foaf:name ?name ) >-- OPTIONAL { ( ?x foaf:page ?homepage ) >-- UNSAID ( ?x foaf:workplaceHomepage ?homepage ) } > >SELECT h1.o AS name, h2.o AS homepage > FROM holds AS h1 > LEFT OUTER JOIN holds AS h2 ON h2.s=h1.s AND h2.p="foaf:page" > LEFT OUTER JOIN holds AS h3 ON h3.s=h1.s AND >h3.p="foaf:workplaceHomepage" AND h2.o=h3.o > WHERE h1.p="foaf:name" > AND h3.o IS NULL > >-- +-------+--------------------------+ >-- | name | homepage | >-- +-------+--------------------------+ >-- | "Bob" | NULL | >-- | "Eve" | <http://isp.example/eve> | >-- +-------+--------------------------+ > >[1] >http://lists.w3.org/Archives/Public/public-rdf-dawg-comments/2004Nov/thread.html#16 >[2] http://www.w3.org/2001/sw/DataAccess/rq23/#unsaid >-- >-eric > >office: +81.466.49.1170 W3C, Keio Research Institute at SFC, > Shonan Fujisawa Campus, Keio University, > 5322 Endo, Fujisawa, Kanagawa 252-8520 > JAPAN > +1.617.258.5741 NE43-344, MIT, Cambridge, MA 02144 USA >cell: +1.857.222.5741 (does not work in Asia) > >(eric@w3.org) >Feel free to forward this message to any list for any purpose other than >email address distribution. > >Content-Type: application/pgp-signature; name="signature.asc" >Content-Description: Digital signature >Content-Disposition: inline > >Attachment converted: betelguese2:signature 178.asc (????/----) (000D0971) -- --------------------------------------------------------------------- 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 phayes@ihmc.us http://www.ihmc.us/users/phayes
Received on Sunday, 19 December 2004 05:59:29 UTC