Proposed Solution: Non-global Keys

Here is my proposed response on this issue.  I suspect that Dan had 
something else in mind, but the below seems to address the comment -- 
If anyone has anything more contentive to add, I'd welcome it
  -JH

--------------

Dear Bob-
  Thank you for your comment, the working group has considered it 
carefully.  We considered how this could be added to OWL - see the 
discussion thread starting at [1] and particularly [2].  The group 
considered the addition of Qualified Cardinality Restrictions, which 
we believe are needed to implement the sort of global keys you need. 
However, the WG decided to postpone the issue of QCRs as discussed in 
my response to Alan Rector at [3].

Please let us know if this decision to (a) acknowledge that our
design is lacking, but (b) postpone further design work to a future
version is acceptable.
    -Jim Hendler


[1]
http://lists.w3.org/Archives/Public/www-webont-wg/2003May/0064.html
[2] http://lists.w3.org/Archives/Public/www-webont-wg/2003May/0085.html
[3]
http://lists.w3.org/Archives/Public/public-webont-comments/2003Jun/0024.html





>Date: Tue, 06 May 2003 14:22:16 -0700
>To: public-webont-comments@w3.org
>From: Bob MacGregor <macgregor@ISI.EDU>
>Subject: Non-global Keys
>X-Archived-At: 
>http://www.w3.org/mid/5.1.1.6.0.20030506142115.00bb75c0@tnt.isi.edu

>
>OWL ought to include a syntax for defining non-global
>keys.  For example, suppose the classes Employee and
>EmployeeHistory both share the attribute hasSSN.
>One would like to be able to assert that 'hasSSN' is
>a key for instances of Employee, but not for instances
>of EmpoyeeHistory.  InverseFunctionalProperty does not
>permit this.
>
>Currently, single valued restrictions on properties
>can be stated globally or with respect to instances
>of a Class.  Similarly, range restrictions on properties
>can be stated globally, or with respect to instances
>of a Class.  By analogy, keys should have similar
>flexibility.
>
>The property we have in mind for specifying a key
>would have domain Class and range Property.  One
>might call it something like 'hasKey' or 'classHasKey'.
>However, if we are broad-minded, we will recognize
>that sooner or later we will also want to support
>compound keys.  So perhaps it could be called
>'hasSimpleKey' or 'hasAtomicKey'.
>
>When n-ary relational tables are converted into RDF
>format, each table maps to a class and each of a table's
>columns maps to a property.  If a table has
>a compound key (a rather common-place occurrence),
>then one would like to be able to map its key
>restriction to RDF as well.  That would require
>that we support the notion of a compound key.  For
>example, the class EmployeeHistory might have the
>key <hasSSN, historyDate>.
>
>A property representing a compound key declaration
>might map a Class to a List.  Perhaps this property
>could be called 'hasCompoundKey'.
>
>Provisions for supporting key declarations appear
>in the OWL "wish list".  Given how fundamental they
>are in real-world modelling, they ought to become
>more than that.
>
>Cheers, Bob
>
-- 
Professor James Hendler				  hendler@cs.umd.edu
Director, Semantic Web and Agent Technologies	  301-405-2696
Maryland Information and Network Dynamics Lab.	  301-405-6707 (Fax)
Univ of Maryland, College Park, MD 20742	  *** 240-277-3388 (Cell)
http://www.cs.umd.edu/users/hendler      *** NOTE CHANGED CELL NUMBER ***

Received on Monday, 16 June 2003 22:13:00 UTC