Re: declaredAs

On 1/26/07 10:57 AM, Boris Motik wrote:
> Hello,
>
> Well, (2) is needed because an obvious property: if we create an ontology,
> save it, and then load it back, we would like to get exactly the same
> ontology. Otherwise, I'd say that a syntax is obviously broken: it should
> completely preserve the set of axioms (logical or nonlogical) that are
> contained in the ontology.
>   
> There is a big difference between (2) and (3): (3) is used to detect the
> type of P, whereas (2) is used to detect whether P has been explicitly
> declared. Note that (2) implies (3), but not the other way around: if P is
> not declared, you should not serialize its declaredness status, but you
> should serialize <P, rdf:type, owl:ObjectProperty>. Hence, there indeed is a
> need to distinguish the two if you are to completely recover the state of
> the original ontology upon loading.
>   
But in this case, the original ontology we had is "structurally 
inconsistent" as it is defined in Section 8.2 of the structural 
specification. Then what we are trying to preserve through 
round-tripping is its structural inconsistency because using (3) would 
have no impact on the semantics as far as I can tell (maybe this is the 
part I'm wrong). And using owl:declaredAs property to achieve this goal 
means that all valid OWL 1.0 ontologies will be categorized as 
structurally inconsistent w.r.t. OWL 1.1 spec. Structural consistency is 
not a requirement for OWL 1.1 so this is not really a problem but still 
sounds weird.

Using rdf:type instead of owl:declaredAs would solve the above issue and 
simplify the syntax (and make implementation easier which I care 
obviously :). And only side-effect is that after round-tripping a 
structurally inconsistent ontology you will get additional declarations 
which will make it structurally consistent. If that is the only 
difference I will get after round-tripping I wouldn't say that syntax is 
completely broken (but just round-tripping is not guaranteed to give the 
original ontology if it is not structurally consistent at the 
beginning). If there are other side effects of using rdf:type (I didn't 
really think it through) it would be a different story though.

Regards,
Evren
>   
> Sincerely yours,
>
> 	Boris
>
>   
>> -----Original Message-----
>> From: Evren Sirin [mailto:evren@clarkparsia.com]
>> Sent: 26 January 2007 15:22
>> To: Boris Motik
>> Cc: 'Matthew Horridge'; public-owl-dev@w3.org
>> Subject: Re: declaredAs
>>
>> On 1/26/07 6:27 AM, Boris Motik wrote:
>>     
>>> Hello,
>>>
>>> Well, we've been thinking about this, but decided not to do so for an
>>> important reason. Consider an ontology O containing an object property P
>>>       
>> for
>>     
>>> which there is no declaration. A serialization of O into an RDF graph
>>>       
>> must
>>     
>>> ensure the following two things:
>>>
>>> (1) When you parse the graph, you must be able to decode the type of P.
>>> (2) The parsing should correctly restore the "declaredness" status of P
>>>       
>> --
>>     
>>> that is, after parsing, the ontology should not contain a declaration
>>>       
>> for P.
>>     
>>> Now the problem is that, to ensure compatibility with OWL DL, we use
>>> rdf:type to ensure (1). In the worst case, you really need to include a
>>> triple
>>>
>>> (3) <P, rdf:type, owl:ObjectProperty>
>>>
>>> so that, when you parse the graph, you know what the type of P is. But
>>>       
>> then,
>>     
>>> you should not use rdf:type to reflect the "declaredness" status of P in
>>>       
>> an
>>     
>>> ontology; otherwise, any ontology that contains the triple (3) will also
>>> contain a declaration for P.
>>>
>>>       
>> Boris, could you explain a little why (2) is needed in the first place.
>> What kind of problems arise if the ontology after parsing contains a
>> declaration for P? If the type of P will be decoded as ObjectProperty in
>> the end, having (3) seems harmless.
>>
>> Thanks,
>> Evren
>>
>>     
>>> We weren't able to find a way out of this problem and have,
>>>       
>> consequently,
>>     
>>> introduced the owl:declaredAs property.
>>>
>>> Thanks anyway for this suggestion!
>>>
>>> Sincerely yours,
>>>
>>> 	Boris
>>>
>>>
>>>       
>>>> -----Original Message-----
>>>> From: public-owl-dev-request@w3.org [mailto:public-owl-dev-
>>>>         
>> request@w3.org]
>>     
>>>> On Behalf Of Matthew Horridge
>>>> Sent: 26 January 2007 10:06
>>>> To: public-owl-dev@w3.org
>>>> Subject: declaredAs
>>>>
>>>>
>>>> All,
>>>>
>>>> I've been working on an OWL 1.1 parser/renderer recently, and I
>>>> wondered if we could just use rdf:type instead of owl:declaredAs for
>>>> entity declarations in the RDF mapping.  I can't immediately see a
>>>> problem with doing this, and I believe it would improve backwards
>>>> compatibility with the existing "OWL 1.0" RDF/XML mapping.  Any
>>>> thoughts?
>>>>
>>>> Cheers,
>>>>
>>>> Matthew
>>>>
>>>>         
>>>
>>>
>>>
>>>
>>>       
>
>
>
>
>   

Received on Friday, 26 January 2007 16:49:05 UTC