Re: Allowed types of punning (ISSUE-114)

Indeed this points to further problems, as we can  pun individuals to  
each of Object and Data properties, but not Object to Data properties.

Similarly we can pun individuals to Datatypes and to Classes, but not  
Datatypes to Classes.

What to make of this? No three way puns, probably. Further evidence  
that this is not thought through.

-Alan

On Jul 10, 2008, at 3:09 AM, Peter F. Patel-Schneider wrote:

>
> Boris Motik wrote:
>> Hello,
>
> [...]
>
>> I believe that the use cases for "individual vs. anything" type of  
>> punning have been well documented in a number of publications.
>> Thus, the only type of punning that could potentially be  
>> controversial is "class or datatype vs. some type of property".
>> Right, I don't expect people really wanting to have a property  
>> called "xsd:integer"; however, I don't see how disallowing it makes
>> the spec better. People can do this in OWL Full, and allowing this  
>> in OWL DL merely allows us to handle a larger percentage of RDF
>> graphs. Moreover, I believe that there is no distinction between  
>> the semantics of punning in OWL Full and OWL DL; to be more
>> precise, I don't think you can notice the difference at the level  
>> of consequences.
>> The same holds for punning of the form "class vs. some type of  
>> property".
>> Regards,
>> 	Boris
>
> As well, if OWL 2 allows individual/class and individual/object  
> property punning (for example), it seems to me that it implicitly  
> allows class/object property punning.  In fact, prohibiting the  
> third kind of punning while allowing the first two is going to  
> require some interesting behaviour:
>
> Case 1 - OK, individual/class punning:
>
> Declaration( NamedIndividual( ex:foo ) )
> Declaration( Class( ex:foo ) )
>
> Case 2 - OK, individual/object property punning:
>
> Declaration( NamedIndividual( ex:foo ) )
> Declaration( ObjectProperty( ex:foo ) )
>
> Case 3 - OK, both of the above categories of punning:
>
> Declaration( NamedIndividual( ex:foo ) )
> Declaration( Class( ex:foo ) )
> Declaration( ObjectProperty( ex:foo ) )
>
> Case 4 - not OK?????, but a subset of Case 3?????
>
> Declaration( Class( ex:foo ) )
> Declaration( ObjectProperty( ex:foo ) )
>
> peter
>

Received on Thursday, 10 July 2008 02:31:44 UTC