Re: Question re: HasKey entailments

OK, you (plural) have  convinced me this can be useful expressivity

However,  given two of us who had PhDs in AI and long experience with  
DBs took a while to work through the semantics, and didn't get the  
idea of these examples without the emails from you folks,  I do think  
documenting it will be important...

On Dec 30, 2008, at 7:19 PM, Bijan Parsia wrote:

> On 30 Dec 2008, at 22:50, Michael Schneider wrote:
>
> [snip]
>
>> Apart from this somewhat fancy consideration, there is a different  
>> aspect of
>> Keys in OWL 2: They also provide for compound keys, and this is  
>> really an
>> important RDB feature, and isn't available by inverse functional  
>> properties.
>
> I tend to consider the class part as an aspect of compoundness.  
> E.g.,  key is a hasSNN *and* being a Person. You could add arbitrary  
> expressions to capture more complex conditions. I.e., a key is  
> hasSNN *and* is a Person who was born before1928.
>
> For example, if you recycle IDs every 4 years (i.e., to cover  
> students in a 4 year program), you would want keys to be tagged to 4  
> year periods:
> 	hasKey(hasId, allvaluefrom.enrolledIn >=2004 & <= 2008)
>
> Similarly, if you are reconciling databases, some datasets might  
> have keys (like ISBN) that are unique for one part of the data but  
> need to be combined with another property (title) in another (due to  
> a change in policy). (Here the classes correspond roughly to the  
> core entities in each dataset, sorta like what you pointed out for  
> corresponding tables in classes, i.e., if you are doing data  
> integration, you might be pulling in multiple datasets).
>
> Cheers,
> Bija

"If we knew what we were doing, it wouldn't be called research, would  
it?." - Albert Einstein

Prof James Hendler				http://www.cs.rpi.edu/~hendler
Tetherless World Constellation Chair
Computer Science Dept
Rensselaer Polytechnic Institute, Troy NY 12180

Received on Wednesday, 31 December 2008 04:55:24 UTC