On 13 Sep 2007, at 11:17, Matthew Horridge wrote:
> Hi Matthew,
>
>> The spec for owl 1.1 defines equality over expressions. However, I
>> can't see
>> where it defines ordering over expressions. The haskell code I've
>> got does
>> provide a total ordering over all bits of the owl 1.1 syntax,
>> meaning that I
>> always process/serialize statements in a consistent order.
This is great.
>> This is
>> particularly important in the xml serialization, particularly if
>> we wish to
>> be able to do diffs.
It's super important in general.
>> Have I missed the bit that talks about cannonical orderings? Is
>> there an
>> expected (although not required) order in which we should
>> serialize elements
>> to xml?
No though one could emerge and tools could converge.
> I don't think there is such a document.
There isn't. There's actually two or three places it could go: e.g.,
In the functional syntax document or in the XML syntax document. Or
in a canonicalization document.
> Would you be able to document your approach and post it to the
> list? (I could then add this to the OWL API, which already has an
> axiom comparator, but it would be great if there was a more
> standard approach).
Indeed. The approach currently taken in the structural spec is a bit
"abstract" with regard to concrete documents in that it uses sets
quite a bit (e.g., an ontology is a set of axioms). I think being a
bit more specific on parsing, comparison of parses, and serialization
is a good thing for the WG to do. Any first steps toward this are
more than welcome.
Cheers,
Bijan.